ボタンを押すと,タイマーが作動して,終了を示す



[ボタンイベント][getTimer][ムービークリップ][Flash Lite2.0]

ボタンではなく,ムービークリップにon(press)を記述してタイマーを作成。

pandyのプログラミングメモ

・ダイナミックテキストを用意して,インスタンス名はremain_time
・ダイナミックテキストを用意して,インスタンス名はfin_msg
・ダイナミックテキストを用意して,インスタンス名はbtn_txt
・ムービークリップを用意して,インスタンス名はbrn_txt

・開始時刻保持用に,var start_time:Number
・終了時刻保持用に,var end_time:Number
・計測中の時刻取得,var now_time:Number
・残り秒数表示用に,var remain_time_msg:Number
・以下のソースをムービークリップstart_btnにアクションとして記述



//終わったときの表示は,最初は非表示にする。
onClipEvent(load){
_root.fin_msg._visible = false;
}

//ボタンか「5」が押されたら
on(press, keyPress "5"){
var start_time:Number = getTimer(); //開始時の時刻取得
var end_time:Number = start_time + 3 * 1000; //終わりの時刻を計算
var now_time:Number; //計測中の時刻取得
var remain_time_msg:Number; //残り秒数表示

//ムービークリップが再生されるたびに呼び出される
this.onEnterFrame = function(){
now_time = getTimer(); //計測中の時刻
if( now_time > end_time ){ //終了予定時刻を越えたら終了処理
_root.fin_msg._visible = true; //修了メッセージを表示
_root.remain_time.text = "0"; //残り秒数表示を明示的に0に
_root.btn_txt.text = "FINISH"; //ボタンも終わりを示す文字に変更
delete this.onEnterFrame; //イベントハンドラを削除してメモリ解放
}
//予定終了時刻になっていないときの処理
else
{
//残り秒数を整数にする
remain_time_msg = Math.ceil(( end_time - now_time )/1000 );
_root.remain_time.text = remain_time_msg; //残り秒数を表示
_root.btn_txt.text = "Wait"; //ボタン表示を変える
_root.fin_msg._visible = false; //これがないと連続実行した際fin_msgが出っぱなし
}
}
}




・celiはその数値以上の最も近い整数にする
Mathクラスのメソッド一覧
・start_btnのムービークリップにアクションを書いているため,_rootを書かないと他のオブジェクトにアクセスできない。