if文による条件分岐を学ぼう!

2008年6月17日(火)
米倉 明男

使い終わったonEnterFrameは?

 前回、連続した位置移動を行うためにonEnterFrameを解説しました。前回のサンプルでは「目的地 / targetX」への「距離 / distanceX」を5分の1ずつ縮めていくことで、なめらかなイージングを表現しました。この方法では一見「距離 / distanceX」が「目的地 / targetX」に到達しているように見えるのですが、実際にはdistanceXが完全に0になることはありません。差が縮まったインスタンスがどのような動きをとっているか、trace関数を使って確認していきましょう。

 trace関数は実行中の処理を「出力パネル」にメッセージとして表示させることができます。trace()の引数に変数を入れることで、ムービーの動作状況を確認できるため、ActionScriptのコーディング作業ではよく使います。

 ムービープレビューで確認すると「距離 / distanceX」は0.199999999999989でループし続けます。distanceXが完全に0値につけかず、そのまま連続再生が続くからです。連続再生のonEnterFrameは対象のインスタンスが役目を終えてしまっても、onEnterFrameの停止の命令を行わない限り連続再生し続けます。サンプルファイルはこちらからをダウンロード(http://www.thinkit.co.jp/images/article/81/3/8131.zip)できます(8131.zip/25.5 KB)。

 これはPCの処理を無駄に使用することとなり、Flashの処理速度にも影響します。常に動き続けているか、もしくはイベントが発生するタイミングを待つムービークリップの場合を除いて、使う予定がなくなったonEnterFrameは止めるように心がけましょう。

 そして次にプログラミング言語に必要とされる「if文」を学び、条件分岐によって実際にonEnterFrameを止めてみます。

if文を学ぶ

 プログラミングでは処理の中で、条件を分岐する場合があります。この時に条件式に見合わせて、「条件に合う場合」に行う処理と、「条件に合わない場合」に行う処理という分け方を行います。

 条件が1つの場合で、条件に合う時に実行する処理はリスト1になります。

 また、条件式に合わない場合の処理を付け加えることも可能です(リスト2)。

 さらに、条件式を増やしていくこともできます(リスト3)。

Webデザイナー。印刷会社、Web制作会社などのデザイナー/ディレクターを経て、2007年からフリーランスとして活動。デジタルハリウッド講師。http://www.morethanwords.jp

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています