1

新しい爆発ムービークリップを生成するための次のコードがあります。残念ながら、GameEvent.EXPLOSION_FINISHEDイベントがトリガーされることはありません。フレームごとに特別なイベントリスナーはありますか?

var exp:Explosion = new Explosion();
exp.addFrameScript(exp.totalFrames - 1, function():void {exp.stop();dispatchEvent( new GameEvent( GameEvent.EXPLOSION_FINISHED));});
exp.addEventListener(GameEvent.EXPLOSION_FINISHED, tidyUp, false, 0, true);
4

2 に答える 2

1

あなたの問題は、expオブジェクトではなく、コードのチャンクが含まれているオブジェクトにイベントをディスパッチすることだと思います。これを試してください。

exp.addFrameScript(exp.totalFrames - 1, function():void {exp.stop();exp.dispatchEvent( new GameEvent( GameEvent.EXPLOSION_FINISHED));});
于 2012-08-29T16:34:01.763 に答える
0
stage.addEventListener(GameEvent.EXPLOSION_FINISHED,tidyUp);
...
function tidyUp(e:Event):void {
    var s:Object=e.target;
    if (s is Explosion) {
        var expl:Explosion=s as Explosion;
        // process your "expl" Explosion object here
    }
}

する必要があります。

于 2012-08-29T15:04:45.307 に答える