2012-11-05 75 views
0

我正在开发一个应用程序在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

我在猜测你的变量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); 

,那么你可以从魔术师删除您ParticleSystem 2秒后。

希望这会有所帮助!