结束目标:在一个区域内生成粒子(得到那个位),所有粒子都加速到一定程度。
如果我知道粒子的位置,一切都会好的,但是我使用particleRange生成粒子,这意味着我不知道每个粒子的确切位置。
有没有办法在每个粒子生成后检索它们的位置?
我目前的计划是附加一个带有可以读取最终渲染位置的块的particleAction。
答案 0 :(得分:1)
不,正如它在SKEmitterNode
documentation中所说的那样,粒子是Sprite Kit私有的对象,你不能在它们生成后访问它们,所以每个单独粒子的当前位置都不会可以检索。因此,您在粒子动作块中读取位置的计划将不起作用,因为动作仅由新粒子执行,新粒子不受作为单独节点的操纵/访问的影响。
您可以使用particleRange
或particleAction
提前设置行为 。但是,SKCropNode
class可能是出路 - 您可以尝试屏蔽粒子发射器,以便不会渲染所需区域之外的粒子。
答案 1 :(得分:0)
虽然粒子没有加速(我可以没有加速)但我已经能够使用以下方法将它们带到所需的位置:
emitterNode.particleAction = [SKAction moveTo:location duration:1];
尽可能接近它。