如何在iphone 5上调整我的cocos2d-x应用程序

时间:2013-02-06 07:34:54

标签: ios6 cocos2d-x

我的游戏是用cocos2d-x设计的,图片资源大小是320x480,适用于iphone4,现在我想让我的游戏适应iphone5,我该怎么办?谢谢!

2 个答案:

答案 0 :(得分:1)

这实际上取决于您当前的cocos2d-x版本以及您计划支持的分辨率。但基本上如果你正在运行最新的稳定版本(2.0.4)并且你只想支持iPhone4和iphone5分辨率那么你必须:

  1. 为两种分辨率创建艺术品(这不是强制性的,但图形可能会缩放太多并且质量下降)。

  2. 根据实际设备的分辨率在运行时定义DesignResolutionSize和ContentScaleFactor

  3. 选择正确的资源路径

  4. 这里有一个关于如何实现的简单示例:

    // 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