如何在SpriteKit中的不同设备上使SKSpriteNode的速度相同?

时间:2018-08-08 02:40:20

标签: ios swift xcode sprite-kit skspritenode

我的场景的大小是view.bounds.size

我有一个球,其大小为CGSize(width:frame.size.width / 25,height:frame.size.width / 25)

最初,我的球速度为CGVector(dx:25,dy:25),但是在较小的设备(SE)上球运行得更快,而在较大的设备(8 Plus)上球跑得慢,这是有道理的。所以我将球的x和y速度更改为frame.size.width * 0.067,在iPhone 7上为25,这是我喜欢的速度。不幸的是,球在不同的设备上仍然以不同的速度运动。然后,我认为一定是球的质量不同,因为球的大小是框架宽度的百分比。所以我将质量设置为常数,但是球仍然以不同的速度运动 所以现在我不知道发生了什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我认为您可以为场景(用于游戏区域)使用恒定大小,并通过某种转换将该恒定大小呈现给任何屏幕。因此,应用程序的所有逻辑将在任何设备上以恒定大小交互。
如果屏幕具有其他比例,则可以在屏幕边缘附近添加装饰元素。