Swift 计算SKEmitterNode发射的粒子数以启用坐标跟踪的任何方法

Swift 计算SKEmitterNode发射的粒子数以启用坐标跟踪的任何方法,swift,skaction,skemitternode,Swift,Skaction,Skemitternode,这就是我的情况 我的发射器从屏幕顶部生成并移动到屏幕底部,我正试图获得一个png图像来跟踪它们(用于命中检测目的) 问题是,我需要对PNG图像进行实时更新以跟踪skemitternode,因为我正在生成发射器节点的多个实例,所以无法将它们设置为全局变量(需要为n个实例设置一个新的本地化集) 因此,我提出的解决方案是使用while循环,继续将PNG更新为发射器节点坐标。循环的条件是在粒子数小于500(我设置的粒子寿命)时继续 我无法使png图像与skemitter节点保持一致。它总是在它上面或者失

这就是我的情况

我的发射器从屏幕顶部生成并移动到屏幕底部,我正试图获得一个png图像来跟踪它们(用于命中检测目的)

问题是,我需要对PNG图像进行实时更新以跟踪skemitternode,因为我正在生成发射器节点的多个实例,所以无法将它们设置为全局变量(需要为n个实例设置一个新的本地化集)

因此,我提出的解决方案是使用while循环,继续将PNG更新为发射器节点坐标。循环的条件是在粒子数小于500(我设置的粒子寿命)时继续

我无法使png图像与skemitter节点保持一致。它总是在它上面或者失去跟踪

目前我正在使用:

while (particle < 5000) {
    enemySmoke.position = Enemy.position
    particle++
}

如何使发射器和png保持在彼此的基础上?

要拥有
skimiternode
“跟随”一个
SKSpriteNode
,到目前为止,最简单的解决方案是将发射器作为
SKSpriteNode
的子对象,只移动
SKSpriteNode
。例如:

sprite.addChild(emitter)
此时,发射的粒子将添加到
SKSpriteNode
。这不是理想的行为,因为粒子将随
SKSpriteNode
移动。要解决此问题,应将
SKEmitterNode
targetNode
设置为be
SKScene

emitter.targetNode = self // Assuming self is the SKScene.

当你说“PNG图像”时,你指的是
SKSpriteNode
?@ABakerSmith是的,没错,我仍然对你想要实现的目标有点困惑。。。你基本上想让一个
SKSpriteNode
跟随一个
SKEmitterNode
?@ABakerSmith是的,我需要它跟随,因为某些原因它仍然没有跟随。这是我正在使用的代码self.addChild(敌人)敌人。addChild(enemySmoke)enemySmoke.targetNode=Enemynode其中敌人是SKSprite,enemySmoke是发射器。EnemyNode是为敌人Skspriteaso创建的节点,因此出于某种原因,移动极为频繁。你能提出什么解决方案吗?嗯,我不知道为什么发射器不能和精灵一起移动?发生了什么事?精灵在移动而发射器不移动吗?关于起伏的运动,你的fps是什么样的?一次屏幕上可能有太多粒子。。。
emitter.targetNode = self // Assuming self is the SKScene.