在进行游戏开发时, 由于市场上的Android移动设备的分辨率有很多种,而且IOS移动设备的分辨率也不相同,为了能让手游能在90%以上的移动设备较为完美的运行,因此需要考虑屏幕的自适应问题,让一套资源能在多种分辨率下的移动设备上运行起来。
在AppDelegate.cpp文件中,一般都是这样处理屏幕自适应问题的:
bool AppDelegate::applicationDidFinishLaunching() {
// initialize director
auto director = Director::getInstance();
auto glview = director->getOpenGLView();
if(!glview) {
glview = GLViewImpl::create("Treasure Defense"/*, cocos2d::Rect(0, 0, 1024, 768)*/);
director->setOpenGLView(glview);
}
glview->setDesignResolutionSize(1024, 768, ResolutionPolicy::EXACT_FIT); // 这里设置屏幕自适应
// ....其他内容
}
1024和768分别是游戏运行的窗口的宽高,第三个参数ResolutionPolicy::EXACT_FIT是设置屏幕自适应的一种方法,其他方法在头文件 CCGLView.h中:
// CCGLView.h
enum class ResolutionPolicy
{
// The entire application is visible in the specifie

针对Android和iOS设备的屏幕分辨率差异,游戏开发者通常需要解决屏幕自适应问题,确保游戏在不同设备上良好运行。文章详细介绍了Cocos2d-x 3.x中屏幕自适应的几种策略,如EXACT_FIT、NO_BORDER、SHOW_ALL、FIXED_HEIGHT和FIXED_WIDTH,并给出了选择和应用这些策略的建议。

2506

被折叠的 条评论
为什么被折叠?



