- ベストアンサー
Action Scriptで
フラッシュのいろいろのデザインがのってる本で勉強しているんですが、 そのなかのアクションスクリプトの記述に、 onClipEvent (enterFrame) { if (part) { nextFrame(); } else { prevFrame(); } } と書いてある部分がありまして、ifの後のカッコ内の "part"というのがどうしてもわからない・・んです。 べつにどのインスタンス名にもpartと書いていないし、、 if→part というのは、何をしているんでしょうか?? すいません。だれか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
状況を数値で管理し、分岐や判断の条件として使う変数のことを、フラグといいます。 ご質問文にある part は変数で、フラグとして使われているのではないでしょうか。 if 文は、条件である ( ) 内の演算の結果が0以外の時に真(条件成立)、0の時に偽(条件不成立)となります。 if( part ) のように変数だけ書いてある条件式の場合は、part の値が if 文の条件として評価されます。ご質問文のスクリプトは、part に0以外の値が入っている時は nextFrame(); (次のフレームへ移動)、0の時は prevFrame(); (前のフレームへ移動)を実行する、という意味になります。 なお、ブール値(真・偽の2値)として使われる true と false は、Flash の内部で予め、true = 1 ・ false = 0 と定義されています。 part が数値ではなくブール値で何らかの状況を管理しているのであれば、true の時に次のフレーム、false の時に前のフレームに移動、といった動作になります。 part が何の状態を表すフラグで、どんな時に何の値に変わるのかは、ご質問文のスクリプトからだけでは分かりませんが。 おそらく、ムービークリップの中で、アニメが終了した・何かの条件が成立したなど、何らかの状態の変化を知らせるためのフラグだと思います。 ムービークリップのタイムラインや内部に配置されているボタン・ムービークリップのインスタンスに、part = ・・・; や _parent.part=・・・; というように、part の値を書き換えているスクリプトが設定されていませんでしょうか? 先述の通り、if 文では part の値により再生するフレームを切り替えています。どんな時にフレームを切り替えるムービークリップなのかを考えると、part の値を書き換えているスクリプトも見付けやすいと思います。