私はSpriteKitを使って簡単な2Dアーケードゲームを作成しました。スコアリングシステムを追加しようとしています。基本的にゲームは様々な障害を乗り越えなければならない正方形のスプライトです。だから私が望むのは、プレイヤーがゲーム全体を再開するためにオブジェクトに接触したときです。ゲームは接触を検出しましたが(私はそれを以前にテストしましたが)、すべての子供を取り除いてからゲームの基本機能を実行すると、古いオブジェクトが互いに出現し続けていることがわかります。Sprite - Kit Game Swiftの再起動
func didBegin(_ contact: SKPhysicsContact) {
if (contact.bodyA.categoryBitMask == PhysicsCategory.Player && contact.bodyB.categoryBitMask == PhysicsCategory.Obstacles) { //case where PLAYER collides with OBSTACLE
print("I detect Contact")
Scorelabel.text = "0"
scoreCounter = 0
self.removeAllActions()
self.removeAllChildren()
self.setupGame()
}
didBegingのFUNCは、その後、他の例すべての
`
申し訳ありませんが、私はあなたの質問を理解していません。単純なゲームを終わらせるか、人生の喪失を実現したいのかは分かりません(例えば、リロードせずに前の状態に戻る必要があるシーン)。とにかく、ゲームをしたい場合は、Nikの答えに従ってください。さもなければ、古い状態を表すためにプロパティを修正する必要があります。何度も呼び出すことができるので、didBegin(_contact)で行うべきではありません(コードが間違っています)。 –
ありがとう、ありがとうございます。私は何回も呼ばれていると言ったことが間違っていると信じています。 –