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

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

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

一、cocosbuilder

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

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

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

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

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

二、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 图片被放大会有失真。

上一篇:oracle函数trunc的使用


下一篇:HTML5之结构元素