码迷,mamicode.com
首页 > 其他好文 > 详细

CoCos2d-x屏幕分辨率设置

时间:2014-07-08 23:01:45      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:des   使用   strong   width   os   问题   

CoCos2d-x屏幕分辨率设置

  接下来是讲述CoCos2d-x对屏幕分辨率设置的问题:主要是 setFrameSize、setFrameZoomFactor 和 setDesignResolutionSize 函数的使用。

 

1 . setFrameSize这个函数是设置移动设备屏幕分辨率,一般与setDesignResolutionSize的设置一致。

 

2 . setFrameZoomFactor 调用这个函数是因为有的移动设备屏幕分辨率非常大,比如ipad3。太大的话在电脑上看不全了,所以用setFrameZoomFactor把程序窗口缩小。因此,这个函数只有在使用win32,mac,linux桌面时才会用到。

 

3.这个DesignResolutionSize表示设计方案,就是你的游戏完美支持的分辨率方案,一般根据图片资源的尺寸来定,自适配时会按照这个分辨率计算出缩放因子。

因此,这个值也应该是动态的(当然也可设定,比如设为640x960宽屏,这样在小屏的等比缩放也不会影响太大):

   pEGLView->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, kResolutionNoBorder);

  第3个参数kResolutionNoBorder 是适配策略中的一种:

2.0版本提供了三种适配策略:

(1)kResolutionNoBorder:超出屏幕的部分会被裁剪,两侧没有黑边,铺满屏幕,按图片原始比例显示,图片不变形。

(2)kResolutionShowAll:整个游戏界面是可见的,会按原始比例进行缩放,图片不变形,但两侧可能会留有黑边,不铺满屏幕。

(3)kResolutionExactFit:整个游戏界面是可见的,图片可能会进行拉伸或者压缩处理,铺满屏幕,图片会变形。

可以根据自己的要求选择。

 

4.举例:设置移动应用的分辨率,以640x960分辨率为例

(1)在main.cpp中设置:

   CCEGLView* eglView = CCEGLView::sharedOpenGLView();
   eglView->setFrameSize(640, 960);
   eglView->setFrameZoomFactor(1.0f);

(2)在AppDelegate.cpp中设置:

  CCEGLView::sharedOpenGLView()->setDesignResolutionSize(640, 960, kResolutionExactFit);

CoCos2d-x屏幕分辨率设置,布布扣,bubuko.com

CoCos2d-x屏幕分辨率设置

标签:des   使用   strong   width   os   问题   

原文地址:http://www.cnblogs.com/zyldream/p/3830414.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!