我目前在碰撞语句中包含此代码,如果与对象碰撞,则会发生此粒子,但如何阻止它?因为它会永远持续下去,而我只想每次接触发生几次
SKEmitterNode *emitter = [NSKeyedUnarchiver unarchiveObjectWithFile:[[NSBundle mainBundle] pathForResource:@"ff" ofType:@"sks"]];
emitter.zPosition = 0;
emitter.particlePositionRange = CGVectorMake(0, self.size.height);
emitter.position = CGPointMake(self.size.width, self.size.height/2);
[self addChild:emitter];
最佳答案
使用粒子编辑器时,您可以设置要创建的最大粒子数。就是“粒子纹理”下面的字段,官方的描述是:
“发射器在其生命周期内创建的粒子的最大数量。达到此数量后,发射器不再创建粒子。输入 0 可删除粒子限制。”
另请参阅:Particle Emitter Editor Guide
当然,在发射器节点创建了最大数量的粒子后,您应该将其从其父节点中删除。这可以通过创建一个等待几秒钟并从其父节点中删除发射器节点的操作序列来完成[SKAction removeFromParent]。
关于sprite-kit - 如何停止粒子效应? (SKEmitterNode),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22897963/