cocos2dx UI自适应屏幕

来源:互联网 发布:财税软件 编辑:程序博客网 时间:2024/06/06 01:34

现在项目UI改用CocosStudio,摆界面方便太多了,顺便屏幕自适应也轻松解决,下面就记录下操作过程:

1.在UIEditer里新建一个画布,然后把Panel的自适应分辨率给勾上;

2.在Panel内随意添加元素了,不过要记得把每个元素的空间布局内的百分比勾上。

OK啦,这个时候把生成的json文件导出,为了试验效果,建议将元素分布画布的四个角落。

然后回到程序,设置屏幕尺寸和游戏分辨率

    CCDirector* pDirector = CCDirector::sharedDirector();    CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();    pDirector->setOpenGLView(pEGLView);pEGLView->setViewName("Test");#ifdef _WIN32pEGLView->setFrameSize(960, 640); //屏幕尺寸#endif    pEGLView->setDesignResolutionSize(960, 640, kResolutionFixedHeight); //游戏分辨率        // turn on display FPS    pDirector->setDisplayStats(true);    // set FPS. the default value is 1.0/60 if you don't call this    pDirector->setAnimationInterval(1.0 / 60);
忘了说了,我这里的测试环境是cocos2dx-2.2.3+vs2012

运行程序,位置都是对的。

然后,将屏幕尺寸改成(1136,640),UI元素是不是成功的贴合在四角,等比移动了!

最后是注意事项(必看):

1.Panel的子控件布局有绝对布局和相对布局两种,这里选择绝对布局,选择相对布局有个缺陷,就是如果你要把几个控件重叠在一起的话,是找不到这个功能的,只能手动调,所以不用这个;

2.设置游戏分辨率的参数选择kResolutionFixedHeight或者kResolutionFixedWidth。kResolutionFixedHeight是游戏以高度为基准,然后缩放整个游戏画面,width同理。

3.设置画布创建一定要只大不小,尽量包含所有的尺寸,比如iphone4是960*640,iphone5是1136*640,那么需将画布设为1136*640,不然得不到想要的结果的哦。1136*640画布没有这个分辨率,保存的时候记得把尺寸改成1136*640,不然会提示保存失败。

4.安卓手机各种规格,平板跟手机是一种规格,所以我建议把游戏设成平板跟手机两个版本,如果牺牲效果的话,一个版本也行,把画布尺寸设置好就一切ok了。

0 0
原创粉丝点击