申し訳ありませんが、私はここSwiftでスプライトキットゲームを持っており、ゲームが終わった後でGameSceneを再起動することに問題があります。ユーザーはすべての命を失ったときにSwift、spritekit:ゲーム終了後GameSceneを再起動するには?遅れを止める?
は今のところ、変数gameIsOver
は、特定のシーン内のノードだけでなく、オフタイマーのセットを一時停止している、true
に設定されています。このタイマーが終了すると、私は自分のGame Overシーンに移動します。 Game Overシーンから、ユーザーは自宅に戻ったり、ゲームを再開することができます。私はここに私のシーンを一時停止し、私のアプリがクラッシュし、私がいない場合GameSceneがリロードされるとき、gameIsOver
まだtrue
に設定されているためであると
countdown(circle, steps: 120, duration: 5) {
//Performed when timer ends
self.gameSoundTrack.stop()
let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc = mainStoryboard.instantiateViewControllerWithIdentifier("GOViewController")
self.viewController!.presentViewController(vc, animated: true, completion: nil)
//Resetting GameScene
self.removeAllChildren()
self.removeAllActions()
self.scene?.removeFromParent()
self.paused = true
gameIsOver = false
}
:ここ
は私がシーンの上に私のゲームに移行する方法です。私はこれがなぜからfalse
に設定されていると考えられるのかわからない。
GameSceneからシーンに戻ってGameSceneに移動した後、GameSceneから私のホームビューコントローラーに戻ってGameSceneに戻った後、私のfpsカウントがずっと減少しているので、ゲーム全体がポイントまで遅れていますゲームプレイは不可能です。
これは、私がゲームシーンを提示するたびにGameSceneを適切に削除/廃棄しないと考えています。
私はここで同じ問題を抱えていると信じています:In Swift on "game over" move from scene to another UIView and dispose the scene?しかし、私はこれに新しいです、そして、彼らは彼らの問題をどのように解決したのか分かりません。
遅れを止めるためにGame Overシーンを表示するたびにGameSceneを完全にリセット/削除する方法を教えてください。
ohだから、それは何も問題ありません。同じ場面を何度も繰り返し呼びますか?ワオ。私はそれがゲームエンジンにとってちょっと重いと思った。 – msqar
いいえ、新しいシーンを作成し、古いシーンを保持しません。あなたがナビゲーションコントローラを使用していて、セグを使用していたなら、それは違うでしょう。それがあなたを助けた場合は、正しい答えとしてマークしてください。 –
私はポストの所有者ではありません:(残念ながら私はあなたにマークを与えることはできませんが、これにより私はあなたにアップ票を与えた人に助けてくれました – msqar