我目前在我的精灵与游戏中的另一个精灵碰撞时显示粒子效果。
我有这段代码:
let sparkParticle = SKEmitterNode(fileNamed: "SparkParticle.sks")
if sparkParticle.parent == nil
{
sparkParticle.position = mySprite.position
self._particleLayer.addChild(sparkParticle)
}
sparkParticle.resetSimulation()
我创建的粒子的出生率为 1000 个,最多为 100 个。我将粒子发射器节点的位置设置为我的精灵当前在屏幕上的位置。然后,我将它添加为粒子层节点的子节点。
我的问题是,粒子发射器节点完成后是否必须手动从其父节点中移除?还是 Sprite Kit 播放完毕后会自动删除?
由于我的项目旨在让精灵相互碰撞很多,我想确保我是否仍然需要手动处理以防止内存泄漏(粒子层有很多已经完成播放的子发射器节点)