0

スターリングパーティクルエクステンションを利用するアプリをAS3で開発していますが、ループしないのに問題があります。

以下のコードを含む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にイベントリスナーを追加し、削除する関数を呼び出してみましたが、イベントが発生しません。任意のガイダンスをいただければ幸いです。

4

1 に答える 1

0

あなたの変数mParticleSystemはクラスのインスタンスだと思いますstarling.extensions.ParticleSystem。この場合、ParticleSystemオブジェクトは、すべてのパーティクルの放出が終了すると、イベント「完了」をディスパッチします。このクイックヒント:偉大なLeeBrimelowによるStarlingParticleEffect Disposalを、実際のコードで確認できます(更新された作業コードは最初にあります)。

もう1つの優れたオプションは、メソッドParticleSystemにパラメータを渡すことで、パーティクルを放出する期間を指定できることです。start()

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

ParticleSystemしたがって、 2秒後にジャグラーから自分を削除できます。

お役に立てれば!

于 2012-11-07T00:13:54.677 に答える