[寒江孤叶丶的Cocos2d-x之旅_06]一句话教你Cocos2d-x如何自动适应屏幕大小

来源:互联网 发布:淘宝crm啥意思 编辑:程序博客网 时间:2024/05/16 00:44

在Cocos2d-x中,适应屏幕变得出奇简单。真的是一句话就能搞定。

代码如下:

glview->setDesignResolutionSize(960, 640, ResolutionPolicy::EXACT_FIT);

这句简单的代码要添加到AppDelegate.cpp 的 applicationDidFinishLaunching() 的成员方法中

添加的位置如下:

bool AppDelegate::applicationDidFinishLaunching() {    // initialize director    auto director = Director::getInstance();    auto glview = director->getOpenGLView();    if(!glview) {        glview = GLView::create("My Game");        director->setOpenGLView(glview);    }//注意一定要加到if语句外边 才对ios和安卓有效果,加到if里边仅对mac有效果     glview->setDesignResolutionSize(320, 480, ResolutionPolicy::EXACT_FIT);    //喏~上边那行就是了~    srand(static_cast<unsigned int >(time(nullptr)));    // turn on display FPS    director->setDisplayStats(false);

下边来详细说一下这个函数的各个参数:第一个参数 也就是320的位置  是开发时候屏幕分辨率的width,第二个 (480的位置)是开发时候屏幕分比率Height。第三个参数一般的填写ResolutionPolicy::EXACT_FIT就可以了。

第三个参数的含义分别是(本段介绍摘录自官方文档):

1.ResolutionPolicy::FIXED_HEIGHT 

保持传入的设计分辨率高度不变,根据屏幕分辨率修正设计分辨率的宽度。
 
2.ResolutionPolicy::FIXED_WIDTH 
保持传入的设计分辨率宽度不变,根据屏幕分辨率修正设计分辨率的高度。

3.ResolutionPolicy::SHOW_ALL 

屏幕宽、高分别和设计分辨率宽、高计算缩放因子,取较(小)者作为宽、高的缩放因子。保证了设计区域全部显示到屏幕上,但可能会有黑边。
 
4.ResolutionPolicy::EXACT_FIT  
屏幕宽 与 设计宽比 作为X方向的缩放因子,屏幕高 与 设计高比 作为Y方向的缩放因子。保证了设计区域完全铺满屏幕,但是可能会出现图像拉伸。
 
5.ResolutionPolicy::NO_BORDER 
屏幕宽、高分别和设计分辨率宽、高计算缩放因子,取较(大)者作为宽、高的缩放因子。保证了设计区域总能一个方向上铺满屏幕,而另一个方向一般会超出屏幕区域。


0 0