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

Windows store apps Cocos2d-x:如何制作全屏背景?,windows-store-apps,cocos2d-x,Windows Store Apps,Cocos2d X,在我的cocos2d-x游戏中,我的设计分辨率是768x1024(纵向),我使用“kResolutionShowAll”策略(因为我想遵守资产比率)。在某些屏幕分辨率(例如Windows 8 PC 1920 x 1080)上,我的两侧有黑色边框 我想避开这些边界。我的想法是放置一些图像作为背景,并拉伸它以填充整个屏幕,这样可以避免黑色边框(因此,场景应该在该背景上渲染) 我的问题是:如何做到这一点?无论我如何尝试缩放我的背景图像,它总是在显示分辨率内渲染 谢谢 第一件事首先,找出您目标设备系列的

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

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

我的问题是:如何做到这一点?无论我如何尝试缩放我的背景图像,它总是在显示分辨率内渲染


谢谢

第一件事首先,找出您目标设备系列的最大分辨率。例如,如果您的目标是Android系列,则最大分辨率为>>>2560x1600(nexus系列) 您可以在此分辨率中创建资产,然后根据设备的不同纵横比对其进行缩放(缩放策略,在您的情况下为“kResolutionExactFit”)

顺便说一句,显示边界并没有坏处,有几款游戏可以做到这一点。当我们面对这个问题时,我们采用了与我上面提到的相同的策略(2560x1600分辨率图像,使用kResolutionShowAll策略),并且我们将“setDesignResolutionSize”设置为(1600,2560)

因此,在2560x1600分辨率的设备上,它非常适合,但在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”,你的游戏可能会显得捉襟见肘。我分享了不同策略的定义,仅供参考

克瑞解决方案showall

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

kResolutionExactFit

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

kResolutionNoBorder

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

取自,