在SpriteKit游戏中处理不同的屏幕尺寸

时间:2020-10-31 10:43:53

标签: ios sprite-kit

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

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

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

或者有一种我不知道的完全不同的处理方式?

1 个答案:

答案 0 :(得分:1)

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

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

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

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