CoCos2d-x屏幕分辨率设置

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);

转载于:https://www.cnblogs.com/zyldream/p/3830414.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值