首页 > 解决方案 > 在 SpriteKit 游戏中处理不同的屏幕尺寸

问题描述

我正在使用 SpriteKit 开发某种 Breakout 游戏,但我不确定如何处理 iPhone 的不同屏幕尺寸。

我的显示器是 375 点宽。在游戏中,我希望连续拥有 5 个精灵。所以一个精灵是 375 / 5 = 75 点宽。我创建了一个 75 像素宽的 PNG 图像。(还有 2x 和 3x 版本)。到目前为止,它运作良好。精灵以最佳方式分布在屏幕上。但也有屏幕宽度为 414 或 320 点的设备。我该如何处理?

我应该为这些设备创建完全不同的精灵(和位图)吗?然后我还需要不同的参数来将它们分布在屏幕上。

还是有一种我不知道的完全不同的方法来处理它?

标签: iossprite-kit

解决方案


也许不是使用像 375 点这样的绝对值。您可以改为使用当前设备的屏幕尺寸。

let screenSize = UIScreen.main.bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height

然后你可以将 screenWidth 除以 5 并得到你的间距。这不会影响宽度为 75 像素的 PNG。我很确定图像会保持其纵横比,所以我不会太在意。我过去做过类似的事情,无论 PNG 的大小如何,它看起来总是很好。

而且您拥有 1x、2x、3x 的事实应该可以保持 PNG 的质量。


推荐阅读