我的游戏是用cocos2d-x设计的,图片资源大小是320x480,适用于iphone4,现在我想让我的游戏适应iphone5,我该怎么办?谢谢!
答案 0 :(得分:1)
这实际上取决于您当前的cocos2d-x版本以及您计划支持的分辨率。但基本上如果你正在运行最新的稳定版本(2.0.4)并且你只想支持iPhone4和iphone5分辨率那么你必须:
为两种分辨率创建艺术品(这不是强制性的,但图形可能会缩放太多并且质量下降)。
根据实际设备的分辨率在运行时定义DesignResolutionSize和ContentScaleFactor
选择正确的资源路径
这里有一个关于如何实现的简单示例:
// Get the real screen size
CCDirector* pDirector = CCDirector::sharedDirector();
CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();
pDirector->setOpenGLView(pEGLView);
// Set the design resolution. Please see the doc for the different modes
pEGLView->setDesignResolutionSize(480, 320, kResolutionNoBorder);
// Here you have to chose between width or height depending your game's design
if (frameSize.width > 480) {
// iphone5
pDirector->setContentScaleFactor(1136/480);
CCFileUtils::sharedFileUtils()->setResourceDirectory("hd");
} else {
// iphone4
pDirector->setContentScaleFactor(1);
CCFileUtils::sharedFileUtils()->setResourceDirectory("sd");
}
/// Now load the sprites....
如果您想支持更多iOS / Android分辨率,请参阅以下链接,了解cocos2d-x提供的全屏多分辨率解决方案:
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Multi_resolution_support
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Mechanism_of_loading_resources
希望它有所帮助。
答案 1 :(得分:0)
Cocos2D-x 2.0.4+为多分辨率问题提供了非常简单的解决方案。 (iDevices或Android设备。)
事实上,您只需设置DesignResolution
,然后想象您的目标设备将具有此分辨率。
如果目标设备确实具有此分辨率(或其他一些但具有相同比率),cocos2d将处理以修复屏幕,并且您的游戏在所有设备中看起来都相同。
当目标设备的比例不同时,你有很多选择(作为cocos2d语言,policy
)来管理它。
例如,如果您使用Exact fit
政策,cocos2d会强制您的游戏(和设计)适合目标设备屏幕(没有黑色边框)。
完全合适
整个应用程序在指定区域中可见而不尝试 保持原始宽高比。可能会发生失真,而且 应用程序可能会出现拉伸或压缩。
有关详细信息,请查看以下链接:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Multi_resolution_support