"DemoBots"でAppleが使用する最善の方法は、シーンの代わりに一時停止するワールドノードを作成することです。
didMoveToView
addChild(worldNode)
、あなたがworldNodeに一時停止に必要なすべてを追加以上でシーンに追加
class GameScene: SKScene {
let worldNode = SKNode()
}
worldNodeプロパティを作成します。あなたは
worldNode.isPaused = true
physicsWorld.speed = 0
と再開
worldNode.isPaused = false
physicsWorld.speed = 1
で言うfuncをこれは、通常、シーンによって実行されるアクション(例えばタイマ、敵など産卵)あなたの一時停止に比べ
worldNode.addChild(someNode)
worldNode.run(someSKAction)
を含み一時停止時に無視したいものがある場合は、更新機能に追加のチェックを追加することもできます。
override func update(_ currentTime: CFTimeInterval) {
guard !worldNode.isPaused else { return }
// your code
}
それはあなたが実際のシーンを一時停止していないので、あなたのゲームが一時停止されたときに、あなたの一時停止の標識または他のUIを追加する方がはるかに簡単ですこの方法です。そのアクションがworldNodeまたはworldNodeの子に追加されない限り、任意のアクションを実行することもできます。
希望これは
あなたは私を救った!私はそれが別の一時停止の問題を解決して以来、私はこの解決に感謝!それは私がルートから休止していたためだった...それは物理的な遅れを引き起こしていた.PNNodeソリューションですべてが完璧に機能するようになりました! – msqar