• 締切済み

一定時間経過後、ムービー再生する方法を教えていただけますでしょうか?

FLASHのAction Script(setInterval?)について質問です。 現在タイムラインに4つのラベル(A,B,C,D)を指定して、順次A→B→C→D→A→(以下省略)へとループするムービーを制作しております。 次のラベルへと進む時間間隔をスクリプトで制御する方法を教えていただけますでしょうか。 例:) A→(10秒静止後)→B  上記の10秒となっている部分をスクリプトにて制御出来ればと思っております。 また、上記のムービー上に配置してあるボタンにオンマウスで、上記のカウントをリセットしてムービー停止、 マウスアウトで次のラベルへ進める方法も併せて教えていただきたくお願い申し上げます。 何卒、宜しくお願い致します。

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

場合によっては手直しが必要ですが, _root のタイムライン フレーム1 や フレームラベルA のフレームなどに書くスクリプトです。 また,ボタンはボタンシンボルのインスタンスで作成されていて,インスタンス名を「my_btn」と付けておいたものとしておきます。 ----------------------------------------- // (ストップは不要かもしれません) stop(); // setInterval の重複防止 clearInterval(ID); // ラベル名データ配列を作成 label_arr = ["A", "B", "C", "D"]; // 順次繰り上げる変数 n の初期化 // ラベルA に書く場合は 0 ,それ以外は -1 に設定 n = 0; // ユーザ定義関数 gotoLavel の定義 function gotoLabel() { // n が最終ラベル名エレメント番号よりも小さい場合 if (n<label_arr.length-1) { // n の値に 1 を加算 n++; // n が最終ラベル名エレメント番号以上であれば } else { // n の値を 0 に戻す n = 0; } // gotoAndPlay() でも可能 _root.gotoAndStop(label_arr[n]); } // setInterval(関数名, 実行間隔[ミリ秒]); のセット ID = setInterval(gotoLabel, 10000); // ボタン(インスタンス名my_btn)に関する動作定義 // ロールオーバー時の動作定義 _root.my_btn.onRollOver = function() { // setIntervalをクリア clearInterval(ID); }; // ロールアウト時の動作定義 _root.my_btn.onRollOut = function() { // setInterval(関数名, 実行間隔[ミリ秒]); のセット ID = setInterval(gotoLabel, 10000); }; // ドラッグアウト時もロールアウト時と同じく _root.my_btn.onDragOut = _root.my_btn.onRollOut; ----------------------------------------- setInterval関数 は Flash MX (Flash Player 6)以降で使用可能です。 Button.onRollOver = function() {} など onハンドラメソッド も Flash MX (Flash Player 6)以降で使用可能です。

haden_107
質問者

お礼

お例が遅れまして申し訳ございませんでした。 詳細なご説明有難うございます! 現在、教えていただいたスクリプトを元に色々と試行錯誤している段階です。なんとか上手くできそうです。 本当に有難うございました!

すると、全ての回答が全文表示されます。

関連するQ&A