1
私のSKノードは一度だけ衝突しますか?衝突するとパーティクルシステムが現れますが、再び衝突すると束が現れます。私はそれを望んでいない。ちょうどそれがそれをthatsしたい。この効果を引き出すにはどうすればいいですか?一度衝突してからもう一度やり直さないでください
if bodyA.categoryBitMask == 1 && bodyB.categoryBitMask == 3 || bodyA.categoryBitMask == 3 && bodyB.categoryBitMask == 1 {
print("END GAME")
if let dieexplostionNode = SKEmitterNode(fileNamed: "Explosion.sks"){
dieexplostionNode.targetNode = self
dieexplostionNode.position = player.position
// add 3 actions
let wait = SKAction.wait(forDuration: 1.1)
let addExplosion = SKAction.run {
self.player.addChild(dieexplostionNode)
self.player.alpha = 0
}
let removePlayer = SKAction.run {
self.player.removeFromParent()
self.player.removeAllActions()
dieexplostionNode.removeFromParent()
}
// put them in a sequence.
let seq = SKAction.sequence([addExplosion,wait,removePlayer])
// run the sequence
self.run(seq)
}
2つのアイデアが気になります。コリジョンが発生したときにノード(カテゴリまたは物理ボディのカテゴリ/コリジョンビットマップまたはタイプのいずれか)について何かを変更して、再度爆発を実行しないようにするか、別の変数で爆発を引き起こしたかどうかを追跡してください。 –
非常に良いアイデア!ありがとう、本当にありがとう。私はこのようなことを考えようとしていました。カテゴリを変更して、再び衝突するかどうかは関係ありません。ありがとうございました!! –