我不确定如何将节点添加到场景中,以使其具有相同的大小并在所有设备上的相同位置上显示。
例如,后退按钮。这就是我在场景中设置其位置的方式:
class StoreScene: SKScene {
override func didMove(to view: SKView) {
let backButton = ActionNode(texture: SKTexture(imageNamed: "backButtonOrange"))
backButton.position = CGPoint(x: self.size.width/2 * 0.65 * -1, y: self.size.height/2 * 0.85 * -1)
[..]
}
}
在所有设备上看起来都不错,但iPhone X的缩放比例似乎也不对。
使用@ 2x和@ 3x或pdf图像不会更改任何内容。我的场景大小设置为iPhone 6s Plus,并将AspectFill作为缩放模式。更改比例模式会导致类似的问题。
我已经阅读了《 Apples人机界面指南》,并查找了类似的问题,但是找不到该问题的解决方案。
最佳答案
您的缩放比例“错误”的原因是因为您使用的是AspectFill,并且iPhone X的纵横比与其他iPhone不同。 (39/18 vs 16x9)您至少有2个选择:
1)以安全区域为16:9的方式设置安全区域。我个人不喜欢这样,因为您浪费了宝贵的房地产,而这些人花了大笔钱买了一部手机。
2)以支持多种纵横比的方式设计场景大小。我个人比较喜欢将场景开发成正方形,并在其顶部覆盖各个方面层节点,以确保在所有设备上看起来都不错。
关于swift - 在SpriteKit中缩放/定位静态节点以使其在所有设备上看起来相似的正确方法是什么? (Swift 4,iOS 11.2),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48573212/