単純に-1だけを1秒後に実行するサンプルから機能を一づつ追加していきます。
二行目の hoge(); はswfが読み込まれてから即実行させる為の記述。これがないと、setIntervalで設定した時間分遅れて実行される。
var time = 15;
hoge();
function hoge(){
timeField.text = time--;
}
setInterval(hoge,1000);// 1000ミリ秒 = 1秒
0で止める
このままだと永遠に-1を実行し続けるので、0になったら止める様にします。
var time = 5;
hoge();
function hoge(){
if( time >= 0 ){
timeField.text = time--;
}
trace(timeField.text);
}
setInterval(hoge,1000);// 1000ミリ秒 = 1秒
if文を追加して0以上はテキストフィールドに書き込まないようにしました。しかしこのままだと、setIntervalはまだ実行し続けているので、さらに下記のように修正。
var time = 5;
hoge();
function hoge(){
if( time >= 0 ){
timeField.text = time--;
trace(timeField.text);
}else {
clearInterval(routine);
}
}
routine = setInterval(hoge,1000);// 1000ミリ秒 = 1秒
clearInterval 関数とintervalIDを使って、setIntervalを削除。
上記スクリプトのカウントダウンと同時に音を鳴らしてみる
flashで音の再生は3行ほどのスクリプトの追加でできました。
var Snd:Sound = new Sound();//サウンドクラスのインスタンス
Snd.attachSound("clickSnd");//サウンドオブジェクトのインスタンスに設定
var time = 5;
hoge();
function hoge(){
if( time >= 0 ){
timeField.text = time--;
Snd.start();//音の再生
trace(timeField.text);
}else {
clearInterval(routine);
}
}
routine = setInterval(hoge,1000);
スタートボタンで実行するように修正。
スタートボタンを作って、フレームに下記を記載。具体的な構成はこちらを参照ください。
stop();
strtBtn.onRelease = function(){
_root.gotoAndStop(2);
}
コメントする