- ベストアンサー
タイムラインを定期的にスタートさせるには?
- AS3.0でCS5を使用してタイムラインを定期的にスタートさせる方法を教えてください。
- タイムラインのコントロールのためのスクリプトを1フレーム(または100フレーム)に記述する方法を教えてください。
- ムービーを3分ごとにスタートさせ、1フレームに戻り100フレームで停止する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1ですが。。。 > パブリッシュプレビュー時には、下記のメッセージが表示されます。 > 「行6' { 'が必要です。」 > ~略~ > 行9とは…。 > 「 } 」となります。 は? 何が? 私はちゃんと作ってみて動作検証してから回答してるんです。 ちなみに もう一度最初から100フレームのムービーを作ってみて #1に書いたスクリプトをフレーム100のキーフレームにコピペしてみましたが エラーも出ない上,ちゃんと動作もしましたよ【図】↓。 > タイムライン最後のフレームに行っても、 > 再生停止せずに、 > すぐにループしてしまい最初のフレームに戻って再生されてしまいます。 最終フレームに stop(); だけを書いた場合も止まらないのでしょうか? もし止まらないのであれば すでに異常なことをされているということです。
その他の回答 (1)
- BlurFiltan
- ベストアンサー率91% (1611/1754)
3分間ですか。 えらく長い待ち時間ですね。。。 待ち時間の長さはどうでも良いとして 結論ですが, フレーム100 にキーフレームを作り そのキーフレームに次のように書けば良いでしょう。 //--------------------------------------- //このフレームで再生停止 stop(); //関数「rePlay」の定義 function rePlay(evt:TimerEvent):void { //フレーム1 に戻って再生開始 gotoAndPlay(1); } //Timerインスタンスを作成(3分後に,1回実行) var myTimer:Timer=new Timer(3*60*1000,1); //指定時間後に関数「rePlay」を実行するようにセット myTimer.addEventListener(TimerEvent.TIMER,rePlay); //タイマースタート myTimer.start(); //--------------------------------------- 上記スクリプトの new Timer(3*60*1000,1); の部分の引数の意味は new Timer(待つミリ秒数,回数); です。 1秒は 1000 ミリ秒です。 したがって 1分は 60×1000 ミリ秒となり 3分は 3×60×1000 ミリ秒となります。 もちろん 3×60×1000=120000 ですから new Timer(120000,1); としても良いです。 というかむしろそうした方が良いですが 意味を理解したり変更したりするという人間の都合上 new Timer(3*60*1000,1); の方が良いかと思い,あえて計算はしていません。 待ち時間が長くて時間の無駄なので 動作検証する場合は とりあえず new Timer(1*60*1000,1); にするとか さらにもっと短い時間を記入して確かめた方が良いでしょう。
補足
BlurFiltanさん: いつも迅速な的確なご回答有難うございます。 早速ですが、上記のスクリプトを記述して実行してみました。 そうしましたらタイムライン最後のフレームに行っても、 再生停止せずに、 すぐにループしてしまい最初のフレームに戻って再生されてしまいます。 パブリッシュプレビュー時には、下記のメッセージが表示されます。 「行6' { 'が必要です。」 「行9 予期しない' } 'があります。」 と表示されます。 上記のスクリプトですと、因みに行6とは… 「function rePlay(evt:TimerEvent):void { 」 となります。 行9とは…。 「 } 」となります。 今のままですと最後のフレームに行っても再生停止せずに、すぐに最初のフレームに 戻り再生されてしまうため、タイムラインをコントロールできていない状態です。 色々とお手数をお掛け致しますが、ご指導、ご回答をお願い足します。
お礼
BlurFiltanさん: いつも迅速な的確なご回答有難うございます。 そして、大変にお手数をお掛けいたしました。 早速ですが、タイムラインを新規に作成し、上記のスクリプトを再度記述して実行してみました。 そうしましたら、BlurFiltanさんの言うように動作いたしました…。 原因は、何かわからないのですが、正確な動作確認が出来ました。 いつも色々と有難うございます。 助かりました…本当に有難うございました。