0

クイズゲームを作っています。5つの質問があります。最初の質問のタイマーを作成したので、ユーザーが 10 秒以内に質問に答えなかった場合、質問 2 (別のフレーム) に移動します。質問 1 のタイマーは正常に動作しますが、質問 2 を質問 1 とまったく同じようにするにはどうすればよいですか? 同じコードを質問 2 に追加しようとしましたが、エラーが発生しました。
ありがとう

私のコード:

stop();

var count:Number = 10;
var myTimer:Timer=new Timer(1000,2);
myTimer.addEventListener(TimerEvent.TIMER, countdown);
myTimer.start();

function countdown(event:TimerEvent):void {
count00.text=String((count)-myTimer.currentCount); 

if(count00.text == "0"){
gotoAndStop(85);
}
}


myTimer.stop();
myTimer.removeEventListener(TimerEvent.TIMER, countdown);
4

1 に答える 1

1

まず、マルチブルフレームでこれを行うべきではありません。しかし、それは別の議論です。

タイマーを停止し、リスナーを削除して、onCompleteイベントの次のフレームに移動する必要があります。

stop();

var count:Number = 10;
var myTimer:Timer=new Timer(1000,count);// this should be the total count
myTimer.addEventListener(TimerEvent.TIMER, countdown);
myTimer.addEventListener(TimeEvent.TIMER_COMPLETE, timerDone);
myTimer.start();

function countdown(event:TimerEvent):void {
    count00.text=String((count)-event.currentTarget.currentCount);//get currentCount from event 
}

function timerDone(e:TimerEvent):void{
    trace("Timer finishing!");
    myTimer.stop();
    myTimer.removeEventListener(TimerEvent.TIMER, countdown);
    gotoAndStop(85);
}

ところで。タイマーのrepeatCountを2に設定しているので、new Timer(1000,2);2秒のカウントダウンが得られますが、質問する時間はあまりありません;)count

count00また、コードと同じフレーム(レイヤーではない)にインスタンス名を持つ動的なtextFieldが必要です!!

質問には常に関連するエラーメッセージを含めてください。

于 2013-03-07T12:37:20.180 に答える