Cocos2d-x开发之第二篇《设置模拟器大小及实际分辨率》

Cocos2d-x开发之第二篇《设置模拟器大小及实际分辨率》,第1张

概述接上一篇《创建工程》 1、在D:\cocos2d-x-2.2.5\projects\MyGame\proj.win32中有main.cpp文件,内容如下:   其中的eglView->setFrameSize(480, 320)是设置模拟器大小的(相当于是手机的实际尺寸),大家可以根据实际情况进行设置。   2、在D:\cocos2d-x-2.2.5\projects\MyGame\Classes

接上一篇《创建工程》


1、在D:\cocos2d-x-2.2.5\projects\MyGame\proj.win32中有main.cpp文件,内容如下:

650) this.wIDth=650;" src="http://img.jb51.cc/vcimg/static/loading.png" alt="" src="http://img.blog.csdn.net/20141101175131537">

其中的eglVIEw->setFrameSize(480,320)是设置模拟器大小的(相当于是手机的实际尺寸),大家可以根据实际情况进行设置。

2、在D:\cocos2d-x-2.2.5\projects\MyGame\Classes中的AppDelegate.cpp是整个游戏的代理文件。由于考虑到AndroID手机各种屏幕分辨率问题,所以需要在这里设置统一的分辨率。如下:

650) this.wIDth=650;" src="http://img.jb51.cc/vcimg/static/loading.png" alt="" src="http://img.blog.csdn.net/20141101175238343">

正是那句CCEGLVIEw::sharedOpenGLVIEw()->setDesignResolutionSize这个函数。

第一个参数是:分辨率宽;

第二个参数是:分辨率高;

第三个参数是:图片适应屏幕分辨率的属性,如:kResolutionExactFitkResolutionNoborderkResolutionShowAll等等,主要用的是这三个。

3、下面分别对kResolutionExactFit、kResolutionNoborder、kResolutionShowAll属性做图文讲解。假设我们有一张540X960的png图,然后把模拟器大小设置成480X320(对应实际手机屏幕尺寸),而分辨率设置成520X800(对应实际手机屏幕分辨率)通过如下函数设置:

CCEGLVIEw::sharedOpenGLVIEw()->setDesignResolutionSize(520,800,属性);

540X960的图如下:

650) this.wIDth=650;" src="http://img.jb51.cc/vcimg/static/loading.png" alt="" src="http://img.blog.csdn.net/20141101175249328">

当属性为kResolutionExactFit时,如下结果:

650) this.wIDth=650;" src="http://img.jb51.cc/vcimg/static/loading.png" alt="" src="http://img.blog.csdn.net/20141101175156965">

由上得到的结论是:

背景图片为了填充整个屏幕而挤压变形了,还影响到了其它元素的显示效果,比如:文本元素HelloWorld,右下角的按钮,都变了形。

当属性为kResolutionNoborder时,如下结果:

650) this.wIDth=650;" src="http://img.jb51.cc/vcimg/static/loading.png" alt="" src="http://img.blog.csdn.net/20141101175304656">

背景图片为以原图片大小居中显示,只截取了中间的一部分,不会影响其它元素的显示效果(通常都用这个属性,反正我是用这个属性的),要注意的是这里和图片的setposition有关系,这里是setposition屏幕中间的。

特别提醒:以kResolutionNoborder属性时,场景中的精灵位置需要加上CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();的坐标,否则会出现位置偏移的情况。

当属性为kResolutionShowAll时,如下结果:

650) this.wIDth=650;" src="http://img.jb51.cc/vcimg/static/loading.png" alt="" src="http://img.blog.csdn.net/20141101175213563">

背景图片等比例缩小,直到原始图片高度与屏幕分辨率高相等,会影响其它元素的显示,比如:文本元素和按钮,显示的位置会以大背景图的显示区域为基准。

总结

以上是内存溢出为你收集整理的Cocos2d-x开发之第二篇《设置模拟器大小及实际分辨率》全部内容,希望文章能够帮你解决Cocos2d-x开发之第二篇《设置模拟器大小及实际分辨率》所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1008028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存