0

シンプルなギャラリーを作成しようとしています。写真付きの 4 つのフレームを含むギャラリー ムービークリップを作成しました。上記のコードは、1 つのトリガーに対して正常に機能します。ギャラリー mc がフレーム 2 に移動し、2 番目の画像が表示されます。ただし、次のトリガー (さらに 2 秒後) は正しく機能しません。スタックします (たとえば、ステージの他のボタンをクリックできなくなります)。NextPhoto 関数をトレースすると、2 回出力され、それ以上は出力されません。何が欠けていて、2 番目のトリガーが機能していませんか?

import flash.utils.Timer;
stop();
gallery1.stop();

var myTimer:Timer = new Timer(2000);
myTimer.addEventListener(TimerEvent.TIMER, NextPhoto);
myTimer.start();

function NextPhoto(TimerEvent):void
{
    if (gallery1.currentFrame < gallery1.totalFrames){
        gallery1.gotoAndStop(gallery1.currentFrame+1);
    }
    else if (gallery1.currentFrame == gallery1.totalFrames){
        gallery1.gotoAndStop(1);
    }
}
4

2 に答える 2

0

回答してくれてありがとう、最終的には単なるメモリの問題でした。プロジェクトを Alt+Enter したとき、機能しませんでした。プロジェクターで公開したときはうまくいきました。最近、CS6 がメモリを消費しすぎているようです。または、タワーをアップグレードする必要があります...

于 2013-10-31T14:51:14.640 に答える
0

私は Flex のような人なので、あなたのコードを取得することはできません。しかし、あなたのコードから推測できるのは、タイマーが初めて実行された後、タイマーが再起動されていないことです。NextPhoto(e:TimerEvent) が実行される最後のフレームまで、すべてのフレームのタイマーを再起動する必要があります。

于 2013-10-30T13:41:49.297 に答える