現在、ゲーム内でスプライトが別のスプライトと衝突すると、パーティクル エフェクトが表示されます。
私はこのコードスニペットを持っています:
let sparkParticle = SKEmitterNode(fileNamed: "SparkParticle.sks")
if sparkParticle.parent == nil
{
sparkParticle.position = mySprite.position
self._particleLayer.addChild(sparkParticle)
}
sparkParticle.resetSimulation()
作成したパーティクルの発生率は 1000 で、最大 100 です。パーティクル エミッタ ノードの位置を、スプライトが現在画面上にある場所に設定します。次に、パーティクル レイヤー ノードの子として追加します。
私の質問は、終了後にパーティクル エミッタ ノードをその親から手動で削除する必要がありますか? それとも、スプライト キットは、再生が終了すると自動的に削除されますか?
私のプロジェクトはスプライト同士が頻繁に衝突するように設計されているため、メモリ リークを防ぐためにこれを手動で処理する必要があるかどうかを確認したいと思います (既に再生が終了した子エミッタ ノードが多数あるパーティクル レイヤー)。