针对cocos2dx游戏的iPhone X /三星Galaxy S8宽高比问题

Gre*_*lis 9 resolution aspect-ratio cocos2d-x

我一直在设计所有我的横向cocos2dx手机游戏,在2508x1584,"始终可见区域"为2112x1408,所以没有黑色边框或缩放,只是一些裁剪,将限于"可能不可见的区域",如如下所示.

iphone x之前的设计区域

在iPhone X和三星Galaxy S8到货之前,这适用于所有移动设备宽高比.这些设备分别具有19.5:9和18:9的宽高比,将"始终可见区域"从1408降低到1158,这足以让我看起来别无选择,只能重新设计我的所有游戏,如下图所示.

iphone x后的设计区域

因为当我在iPhone X和三星galaxy S8上运行它时,我将所有以前的游戏设计为更高的可见区域,游戏的顶部和底部显然被切断了.

我是否坚持重新设计这些游戏以使它们适合这种较短的宽高比?还是我在这里忽略了另一种解决方案?

nyr*_*r1o 2

遗憾的是我没有看到任何神奇的解决方案。以下是不同的选项:

  • 测试屏幕比例,对于 iPhone X 和 Galaxy S8,将分辨率策略切换ResolutionPolicy::SHOW_ALLResolutionPolicy::NO_BORDER。这是一个快速而肮脏的解决方案,它将在左侧和右侧显示黑色边框。您可以通过缩放所有内容来稍微改进此解决方案,以便重要区域占据所有屏幕高度。
  • 更改设计分辨率的宽度,偏移内容,并找到一种方法用背景纹理填充所有此分辨率。这需要更多的努力,但大多数内容不应该改变,除了偏移量。它将解决问题,因为更大的设计分辨率意味着垂直切割的次数更少(这就是您的情况的问题)。
  • 正如你所说,你还可以重新设计重要区域,使其更灵活地适应不同的比例。这需要一些努力,并且会减小这个重要区域的大小,从而影响其他比率的体验。

我会选择第二个选项。希望这会有所帮助,并且很抱歉没有找到解决该问题的神奇方法。