您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx 入口类AppDelegate.cpp及屏幕适配

2017-09-11 17:02 309 查看
保留此出处http://shahdza.blog.51cto.com/2410787/1550087

入口类AppDelegate.cpp是游戏程序的入口。

【AppDelegate.cpp】

    这是游戏程序的入口,主要用于游戏程序的逻辑初始化,并创建运行程序的入口界面(即第一个游戏界面场景)。
    里面有三个方法:

    源码分析:

    讲到这里,大家可能会感到疑惑。为什么会设置了两次分辨率大小呢?
        setFrameSize(480, 320);
        setDesignResolutionSize(480,320,ResolutionPolicy::SHOW_ALL);
    朋友们,这两个的意义是不一样滴。
    setDesignResolutionSize 是设置了我们游戏设计时候的分辨率,即想要适配的宽480高320的屏幕比例。也就是说设计者初衷的游戏分辨率屏幕大小。但是对于每个用户来说,他们使用的设备不一定是(480,320)的,比如手机有大有小。而后面的 ResolutionPolicy::SHOW_ALL 参数意思是按照原比例(480/320)进行放缩以适配设备的实际屏幕。
    setFrameSize(480, 320) 则是设置我们预想设备的屏幕大小,也就是应用程序窗口的大小。

    以下贴了几张对比图,加深理解。
    1、这是原图片大小,窗口大小为480 * 320。



    2、若设置窗口大小为setFrameSize(960, 640),而不设置设计分辨率放缩比例ResolutionPolicy::SHOW_ALL 的情况下,图片不放缩,原图还是480
* 320。



    3、设置了 ResolutionPolicy::SHOW_ALL 之后,图片放缩到适配整个屏幕960 * 640 了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: