【发布时间】:2015-08-27 23:20:45
【问题描述】:
我在尝试使我的 SpriteKit 游戏在所有设备上兼容时遇到了一些问题。我了解 Image.xcassets 的工作原理,以及如何在放置节点时参考手机框架。
例如,我的游戏在 6、6+ 和 iPad 上看起来不错。不幸的是,它在早期的 iPhone 中处于领先地位。一个简单的解决方法就是像这样引用屏幕顶部:
node.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMaxY(self.frame) - 5)
这适用于所有手机,但不适用于 iPad
但是,如果我像这样引用设备的顶部,那么在 iPad 上,上部节点在屏幕上太远,以至于英雄无法与它们交互。
我的代码用于定位节点的当前编写方式只是使用其他节点来构建:
node.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMinY(self.frame) + node2.size.height + node3.size.height)
这适用于 6、6+ 和 iPad
我怎样才能使它在所有设备上都兼容?我知道我可以调整“2x”图像,使其适合 5 和 5s,但它会抛出 6 的游戏机制(因为 6 和 5 系列出于某种原因共享“2x”)。
有没有一种方法可以专门测试在特定设备上的使用,然后在这种情况下运行特定代码?有什么解决办法吗?谢谢。
【问题讨论】: