我在Swift 4
制作了游戏例程。
GameScene.SKS 已设置为解决方案750x1334
。
在我进行测试时,代码会在iPad
和iPhone X
上进行。
例如,当SpriteNode
命中" dirt boulder
"时,精灵节点必须停止。我通过测试SKPhysicsContact
在代码中解决了这个问题。当spriteNode
点击" dirt boulder
"时,SpriteNode
就位于" dirt boulder
"从spriteNode
来自的方向。这是通过修正精灵节点的 x 和 y 坐标来实现的。
它适用于iPhone SE,5,6,7和8.然而,在不同的iPad和iPhone X上,代码会移动,以便当SpriteNode
击中"污垢Boulder&#34时; SpriteNode
将位于" dirt Boulder
"的另一侧。 - 所以代码反其道而行......
在 GameViewController.swift 中,我使用此代码将 GameScene.sks 自定义为不同的设备:
if let view = self.view as! SKView? {
if let scene = SKScene (fileNamed: "GameScene") {
scene.scaleMode = .aspectfill
view.presentScene (scene)
}
}