• ベストアンサー

FLASH道場のカウントダウンについて

http://www2.netwave.or.jp/~light/ ここの中級編「カウントダウン」に、 /* 引用開始 */ (中略) 右半分の円を回すムービーです。1回転なので最後にアクションでstopを入れます。 (以下略) /* 引用終わり */ とあるのですが、なぜアクションでstopを入れるのかがわかりません。 なぜ「一回転だから」stopを入れるのですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

ムービークリップは独自のタイムラインを持っています。ムービークリップはステージに存在する限り、その自分自身のタイムラインに従って再生されます。 例えば、人が歩いているアニメのムービークリップを作るとします。このアニメが 10 コマでできているとすると、ムービークリップのタイムラインは 10 フレームあることになります。 メインのタイムラインにキーフレームを1つだけ作り、このムービークリップを配置するとします。メインのタイムライン上のキーフレームは1つですが、人の歩く 10 コマのアニメは延々と再生され続けます。 このように、ムービークリップのタイムラインは、特に指定がなければ自動的にループして再生されます。 ご質問文にある例では、円を回すアニメは1回転でいい、とのことですよね。先述の通り、このムービークリップがステージに存在している間は、ムービークリップのアニメが自動的にループして再生されますので、stop がなければ、1回転どころか2回も3回も回ってしまうことになります。 ですが、ムービークリップのタイムラインの最後に stop があれば、ムービークリップのアニメは、1回転した最後のフレームで停止したままになります。ですから、1度だけ回して止めておきたい場合は、最後に stop が必要なのです。 なぜ必要なのか?と思ったら、では、なかったらどうなるのか?を試してみると、それが必要な理由がよく分かります。  stop; とあるところを、コメントにしてみましょう。  //stop; このようにすると、どうなりますか? コメントを使うと、スクリプトを一時的に無効にできます。問題のあるスクリプトや、上記のように、このアクションがなかったらどうなる?と思った時は、すぐにスクリプトを削除しないで、コメントを使って一時的に無効にしてみるといいですよ。戻す時は、コメントの記号を削除するだけで簡単に戻せます。

arcsin
質問者

お礼

なるほど、分かりやすくご説明していただきありがとうございました。 そういうことだったんですね。アドバイス頂いたとおり、今後は自分で色々試してから質問してみます~

関連するQ&A