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

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

首先约定只使用一套图片资源同时应用于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);
    

 

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

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

 



 

posted @ 2013-07-26 18:40  jlins  阅读(1564)  评论(0编辑  收藏  举报