アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

//イベントボタンにマウスオーバーしたときのアクション
event1.onRollOver = function(){
screen.loadMovie("a.swf");
event1.onEnterFrame = function(){
event1._y -= 2;
if (event1._y<=263) {
event1._y = 263;
}
};
};
//イベントボタンにマウスアウトしたときのアクション
event1.onRollOut = function(){
event1.onEnterFrame = function(){
event1._y += 2;
if (event1._y>=271) {
event1._y = 271;
}
};
};

上記のようにアクションスクリプトを記述しています。ボタンが全部で7個あって、各7個のボタンにロールオーバーすると、それぞれ違う外部ファイルを読み込むようにしています。

が、これだけだとちょっと間違えて違うボタンに触れただけで違う外部ファイルの再生が始まり不便です。

理想としては、0.5秒くらいボタンにマウスを当て続けるとムービーが再生されるような形が理想なのですが・・・

setInterval を使うとできそう、というのはわかるのですが、具体的にどうしていいのか分かりません。

ご存知の方いらっしゃいましたらぜひ教えてください!

A 回答 (2件)

var loadInterval;



var loader :MovieClipLoader = new MovieClipLoader();


btn.onRollOver = function()
{
loadInterval = setInterval(ターゲットとする関数 , 待ち時間);
}

function loadContent()
{
loader.loadClip("????.swf" , ロードするターゲット);
clearInterval(loadInterval);
}

1 : グローバル変数でsetInterval用の変数を生成。

2 : onRollOverした段階でsetIntervalを代入。

3 : 0.5秒経過したら指定のfunctionからswfをロード。同時にsetIntervalをクリアする。(クリアしないと0.5秒間隔でロードされ続ける為)
    • good
    • 0
この回答へのお礼

今回お礼の方が遅れてしまいましたことをお詫びいたします。

お教えいただいた方法で無事解決することができました。

ありがとうございました。

お礼日時:2008/11/04 09:29

追記 : onRollOut した場合も同様にsetIntervalをクリアして下さい。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!