cocos2d-x结合cocosbuilder,不同屏幕适配小结

来源:未知 责任编辑:智问网络 发表时间:2013-11-12 17:12 点击:

这个问题搞了好几天才解决,在此总结一下:

首先约定只使用一套图片资源同时应用于iphon4和iphon5(测试过在ipad下也能显示正常), 这里我们将需要全屏显示的背景制作为iphon5的尺寸即:1136 * 640

一、cocosbuilder

1. 新建一个场景文件,选择iphone5 Landspcape 调整高宽为1136*640,如图片:

 \
 


只有一套图片,只需要这个尺寸就行了

 


2.在场景编辑中所有的节点设置为百分比座标:

 \
 

 

 

二、coco2d-x

我们制作的场景以1136*960为设计尺寸, 按实际屏幕尺寸与设计尺寸与的高度比做为缩放因子。代码如下:

 

CCSize screenSize = CCEGLView::sharedOpenGLView()->getFrameSize(); 
CCSize designSize = CCSizeMake(1136, 640); 
CCFileUtils* pFileUtils = CCFileUtils::sharedFileUtils(); 
std::vector<std::string> searchPaths; 
pFileUtils->setSearchPaths(searchPaths); 
 
pDirector->setContentScaleFactor(screenSize.height/screenSize.height); 
CCEGLView::sharedOpenGLView()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionNoBorder); 

    CCSize screenSize = CCEGLView::sharedOpenGLView()->getFrameSize();
    CCSize designSize = CCSizeMake(1136, 640);
    CCFileUtils* pFileUtils = CCFileUtils::sharedFileUtils();
    std::vector<std::string> searchPaths;
    pFileUtils->setSearchPaths(searchPaths);
   
    pDirector->setContentScaleFactor(screenSize.height/screenSize.height);
    CCEGLView::sharedOpenGLView()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionNoBorder);
   

使用以上方法在iphon Retina(3.5-inch)、 iphone Retina(4-inch)、ipad、ipad Retina 四个模拟器中都能正常显示,位置也正确。

只是在ipad Retina 图片被放大会有失真。


 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • cocos2d-x学习笔记(19)--label 、label atlas
    • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
    • Cocos2d-x学习(一):HelloWorld
    • cocos2dx在xcode下开发,编译到android上(2)
    • cocos2d 设置屏幕默认方向
    • Cocos2d-x 2.0 之 Actions “三板斧” 之一
    • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
    • cocos2d-x学习笔记(18)--游戏打包(windows平台)
    • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1