本文主要是介绍2.9 启动文件和适配(笔记),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引擎入口:
AppDelegate 的 applicationDidFinishLaunching函数
bool AppDelegate::applicationDidFinishLaunching() {// initialize director 获得导演类auto director = Director::getInstance();// 获得画布auto glview = director->getOpenGLView();if(!glview) {glview = GLViewImpl::create("My Game");director->setOpenGLView(glview);}// turn on display FPS 是否显示帧率director->setDisplayStats(true);// set FPS. the default value is 1.0/60 if you don't call this 帧率director->setAnimationInterval(1.0 / 60);// create a scene. it's an autorelease object 场景auto scene = HelloWorld::createScene();// run 运行场景director->runWithScene(scene);return true;/*其中可以通过调用GLView 的 setDesignResolutionSize 设置游戏的分辨率大小和适配方式,设计分辨率是游戏选择的的基础分辨率,可以是一种标准机器的分辨率,也可以是根据项目的特点来确定可选的适配方式如下:1//ResolutionPolicy::SHOW_ALL屏幕宽高分别和设计分辨率宽高计算缩放因子。取较小者作为宽高的缩放因子。这种适配方式保证了设计区域全部是显示到屏幕上,可能有黑边。2//ResolutionPolicy::EXACT_FIT屏幕宽与设计宽比作为X方向的缩放因子,屏幕高与设计分辨率高之比作为Y方向的缩放因子。保证了设计区域完全铺满屏幕,但是,可能会出现图像拉伸。3// ResolutionPolicy::NO_BORDER屏幕的宽高分别与设计分辨率宽高来计算缩放因子,取较大者作为宽高的缩放因子。保证了设计区域总能一个方向上铺满屏幕,而另一个方向一般会超出屏幕区域。4// ResolutionPolicy::FIXED_HEIGHT保持传入的涉及分辨率 高度 不变,根据屏幕分辨率修正设计分辨率的宽度;4// ResolutionPolicy::FIXED_WIDTH保持传入的涉及分辨率 宽度 不变,根据屏幕分辨率修正设计分辨率的高度;注: 一般的游戏是不能容忍黑边的存在和屏幕上有部分没有显示的如下,提供一个方法j,以IOS 的屏幕分辨率宽高比为基础,对宽高比分段处理:分段处理屏幕大小适配:// sjtSize winsize = director->getVisibleSize();double ratio = winsize.height / winsize.width;// 对应iphone5及以上,并且对应 高/宽 > 1136 / 640 Android 中这种设备也不多if (ratio > 1.775){glview->setDesignResolutionSize(640, 1136, ResolutionPolicy::SHOW_ALL);}// 中间iPhone5 和iPhone4中间的,按自己跨高比处理,包括 1024 / 640的ipadelse if (ratio > 1.5){glview->setDesignResolutionSize(640, 640 * ratio, ResolutionPolicy::SHOW_ALL);}// 高 / 宽 > 1136 / 640 < 640 / 960 也不多,以下的都按照iPhone4处理,包括102 4/ 758 的ipadelse{glview->setDesignResolutionSize(640, 960, ResolutionPolicy::SHOW_ALL);}*/
}
这篇关于2.9 启动文件和适配(笔记)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!