我一直在 Xcode 7 中使用 sprite 套件制作一个应用程序。我通过引用其他 sprite 节点和 self.frame 来放置所有 sprite 节点 例如
self.block.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)
当我在 iPhone 6 Plus 上测试我的应用程序时(我之前在 iPhone 4s 上测试过,但它在 iPhone 5 上运行良好),我的应用程序没有缩放节点,只是缩放它们之间的空间。该游戏依赖于一切都相同,否则在 iPhone 6 上玩的人会发现比在较小设备上玩的人更容易。无论如何,我可以将 iPhone 6 View 变成 iPhone 5 View 的拉伸(stretch)版本吗?谢谢大家!
最佳答案
最好不要使用 self.frame 作为引用来定位 Sprite 。最好将场景视为“真实”坐标,并让 SpriteKit 为您缩放场景。
即。创建场景时指定场景的缩放模式(可能在 View Controller viewDidLoad 中)。我更喜欢 AspectFill 的缩放模式,它可以确保屏幕被填充,但在某些设备上您会丢失边缘。只需确保核心游戏玩法位于场景中间即可。
scene.scaleMode = .AspectFill
然后,使用场景大小作为引用来定位 Sprite 。在风景场景中,我倾向于使用 1024x768(iPad 尺寸)的场景尺寸。
希望有帮助。
关于ios - 如何缩放应用程序,使 iPhone 6 与 iPhone 5 SpriteKit 相同(缩放),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096473/