Cocos2d-x:如何制作全屏背景?

时间:2014-04-28 08:20:17

标签: windows-store-apps cocos2d-x

在我的cocos2d-x游戏中,我的设计分辨率是768x1024(肖像),我使用“kResolutionShowAll”策略(因为我想服从资产比率)。在某些屏幕分辨率(例如Windows 8 PC 1920 x 1080)上,我的边框有黑色边框。

我想避开这些边界。我的想法是将一些图像作为背景放置并拉伸它以填充整个屏幕,这样可以避免黑色边框(因此,场景应该在该背景上呈现)。

我的问题是:怎么做?无论我如何缩放我的背景图像,它总是在显示分辨率内呈现......

谢谢!

1 个答案:

答案 0 :(得分:1)

首先,找出您要定位的设备系列的最大分辨率。例如,如果您的目标是Android系列,则最高分辨率为>>> 2560x1600(nexus系列) 您可以使用此分辨率创建资源,然后根据设备的不同宽高比进行缩放(缩放策略,在您的情况下为" kResolutionExactFit")

不过,在展示边界方面没有任何害处,有几款游戏就是这么做的。当我们遇到这个问题时,我们应用了与上面提到的相同的策略(2560x1600分辨率图像,使用kResolutionShowAll策略)另外,我们设置" setDesignResolutionSize"到"(1600,2560)"

所以,在2560x1600 res。它适合的设备,但在1920x1080 / 1280x720设备上有边框。请注意,大的图像在渲染时也会导致黑屏,即,如果设备无法渲染图像(图像大于设备的maxtexturesize),cocos2dx不会渲染它。 在这种情况下,您可以使用,

CCConfiguration* conf = CCConfiguration::sharedConfiguration();
conf->getMaxTextureSize() // to check if a device is capable of rendering such image, if not you can use a lower resolution version

或者,你也可以有2种差异设计分辨率。

话虽如此,如果你坚持使用" kResolutionShowAll",你的游戏可能看起来很紧张。仅供参考,我已经分享了不同策略的定义;

  

kResolutionShowAll

     

根据屏幕的宽度和高度以及设计分辨率来确定比例因子,选择较小的因子值作为比例因子。这可以确保所有设计区域都可以在屏幕上显示,但可能会在屏幕上留下一些区域黑色。

     

kResolutionExactFit

     

将屏幕宽度比和设计分辨率设置为X轴的比例因子,将屏幕高度比和设计分辨率设置为Y轴的比例因子。这可以确保设计区域覆盖整个屏幕,但图片可能会拉长。

     

kResolutionNoBorder

     

根据屏幕的宽度和高度以及设计分辨率来确定比例因子,选择较大的比例因子作为比例因子。这可以确保一个轴可以始终完全显示在屏幕上,但另一个轴可能会缩小屏幕。

取自, http://www.cocos2d-x.org/wiki/Detailed_explanation_of_Cocos2d-x_Multi-resolution_adaptation