SKEmitterNode粒子在positionRange之后的实际位置

时间:2014-02-03 06:34:15

标签: ios sprite-kit skemitternode

结束目标:在一个区域内生成粒子(得到那个位),所有粒子都加速到一定程度。

如果我知道粒子的位置,一切都会好的,但是我使用particleRange生成粒子,这意味着我不知道每个粒子的确切位置。

有没有办法在每个粒子生成后检索它们的位置?

我目前的计划是附加一个带有可以读取最终渲染位置的块的particleAction。

2 个答案:

答案 0 :(得分:1)

不,正如它在SKEmitterNode documentation中所说的那样,粒子是Sprite Kit私有的对象,你不能在它们生成后访问它们,所以每个单独粒子的当前位置都不会可以检索。因此,您在粒子动作块中读取位置的计划将不起作用,因为动作仅由新粒子执行,新粒子不受作为单独节点的操纵/访问的影响。

您可以使用particleRangeparticleAction提前设置行为 。但是,SKCropNode class可能是出路 - 您可以尝试屏蔽粒子发射器,以便不会渲染所需区域之外的粒子。

答案 1 :(得分:0)

虽然粒子没有加速(我可以没有加速)但我已经能够使用以下方法将它们带到所需的位置:

emitterNode.particleAction = [SKAction moveTo:location duration:1];

尽可能接近它。