椋鸟粒子效应

时间:2012-11-05 02:42:54

标签: actionscript-3 starling-framework

我正在AS3中开发一个使用starling粒子扩展的应用程序,但是我有一些麻烦不能循环它。

我在一个名为particle的对象包中创建了一个新类,其中包含以下代码。

mParticleSystem = mParticleSystems.shift();
mParticleSystems.push(mParticleSystem);
mParticleSystem.emitterX = 320;
mParticleSystem.emitterY = 240;
mParticleSystem.start();
addChild(mParticleSystem);
Starling.juggler.add(mParticleSystem);

我通过

在我的主项目中调用此类
particle = new Particle();
this.addChild(particle);

一切都很完美,除非我无法阻止变戏法者。我已经尝试将一个事件监听器添加到mParticleSystem并调用一个要删除的函数,但事件不会触发。任何指导都表示赞赏。

1 个答案:

答案 0 :(得分:0)

我猜你的变量mParticleSystem是类starling.extensions.ParticleSystem的一个实例。在这种情况下,ParticleSystem个对象在完成发射所有粒子后调度事件“完成”。你可以通过伟大的Lee Brimelow用实际代码检查这个Quick Tip: Starling Particle Effect Disposal(更新后的工作代码就在最开始)。

另一个不错的选择是,您可以通过将参数传递给ParticleSystem方法来指定您希望start()发出粒子的时长:

// emit particles for two seconds, then stop
mParticlesSystem.start(2.0);

那么你可以在2秒后从变戏法者中删除ParticleSystem

希望这有帮助!