第4回 for文によるループ処理を学ぼう!

for文によるループ処理

 プログラミングでは、データを指定した回数だけ、同じ処理を繰り返すことがよくあります。この際にActionScriptで使われるのが、for文と呼ばれるループ処理です。

 for文では、最初に「初期値」を指定して、2番目に「何回未満まで繰り返すのか」を指定します。3番目に「増減処理」として、「加算(インクリメント)++」か、もしくは「減算(デクリメント)--」を選択します。この3つがループ処理の設定になります。後は繰り返し処理したい内容を{ }で閉じます。

 for文の書き方は以下のようになります。

for ( 初期値; ループ条件; 増減処理 ) {
繰り返す処理;
}

 for文の例文は以下のようになります。

for ( var i = 0; i<10; i++ ) {
trace(i);
}

 例文と比較して見てみましょう。for( );で囲んだ部分がループ設定です。「var i」はfor文で繰り返す回数の変数名になります。

 今回の初期値は「0」です。次のループ条件は「i<10」です。この意味は、初期値の「0」から10未満である「9」回目までループするという意味になります。3番目の増減処理で「加算(インクリメント)++」を指示しましたので、「0」から1ずつ加算カウントし、「9」回目で終了することを意味します。では次にfor文を実行してみましょう。

for文とattachMovieを使ったサンプル

 前回解説したattachMovieとfor文を使って図形を横並びに配置してみます。サンプルファイルはこちらからをダウンロード(http://www.thinkit.co.jp/images/article/81/4/8141.zip)できます(8141.zip/172 KB)。

 1番目に縦横30pxのひし形を作り、ムービークリップとしてシンボル化します。前回同様このムービークリップをリンゲージにします。識別子名は「shape」にしました。

 2番目にfor文の設定を行います。初期値は「var i=0」、ループ条件は「i<7」、増減処理は「i++」です。これで「0」から「6」回目まで1つずつ繰り返すことになります。

 3番目にattachMovieの設定を行います。識別子名「shape」を選択し、配置するインスタンス名を「"shape"+i」にしました。これでループ処理を行うと、インスタンスが7つ生成され、それぞれのインスタンス名は「shape0」「shape1」「shape2」「shape3」「shape4」「shape5」「shape6」となります。for文の変数「i」をそのまま深度することで、自動的に重なる順番を作ることができます。

 このままでは生成された7つのインスタンスが、すべて同じ位置に配置されてしまいますので、X座標プロパティ「_x」を使って横並びにします。

 this["shape"+i]._xでそれぞれに生成されるインスタンスのX座標を指示します。代入する値として変数「i」に30をかけます。こうすることで「shape0」のX座標は0px、「shape1」のX座標は30px、「shape2」のX座標は60pxとなり横並びの配置を計算式で設定することができます(リスト1)。

著者について

米倉 明男

米倉 明男

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

IT Leaders 毎月無料でお届けいたします

本誌は、読者登録いただくことにより、毎月無料でみなさまのお手元まで直接お届けいたします(書店などでは販売していません)。

企業の情報システムを担当する方々や事業部門のIT担当の方々、およびIT関連プロフェッショナルの方々を対象に、実践的に役立つ情報を掲載、幅広く業務にご活用いただけます。

IT Leaders新規購読お申し込みはこちらから