検索
連載

日常生活から理解するActionScriptの制御文Flashの基礎を無料で習得! ActionScript入門(3)(2/2 ページ)

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

for each文 ― リストを1つずつ取り出して ―

 AS 3からfor each文が使えるようになりました。for文に似ていますが、for each文は配列変数などの要素を、1つ1つ読み出すときなどに便利です。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 【1】は「連想配列」と呼ばれるものの宣言文です。連想配列は要素名と値をセットで扱える配列です。「aaa:"111"」でいうと「aaa」が要素名、「"111"」が値になります。【2】では、myObjの配列から、要素の値をvalueにString型(文字列型)として1つずつ取り出しながらループしています。【3】では、文字列を連結しています。

 また、AS 3ではすべての型を代入できる「*」(アスタリスク)を型指定することができます。

 先ほどのfor each文を、「for each (var v:* in myObj)」と書くことで、配列内の値の型を意識することなく使用することもできます。for文と違って要素を取り出す順番は保証されませんが、便利な機能です。

 それでは、コンパイルして実行してみましょう。

図6 for each文サンプルの実行結果
図6 for each文サンプルの実行結果

while文 ― 〜の間は処理を繰り返す ―

 while文は条件が満たされている間、処理を繰り返すときに使います。whileの構文は以下のようになります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

図7 日常生活で使うwhile文のイメージ
図7 日常生活で使うwhile文のイメージ

 それでは、whileを使ってプログラムを書いてみましょう。この例はあえてwhileを使わなくてもできますが、記述例として挙げておきます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 【1】では、aが5以下かどうかを比較しています。【2】では、aをインクリメントしています。

 通常、while文はキーボードからの入力に対する処理など、繰り返す回数が分からないときに使います。

do while文 ― 必ず1回は処理 ―

 whileは条件が満たされていなければ1度も処理されないのに対し、do whileは1回は必ず処理を行います。do whileの構文は以下になります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 それでは、コンパイルして実行してみましょう。

図8 do while文サンプルの実行結果
図8 do while文サンプルの実行結果

 「6」と表示されました。aは6で初期化されており、whileの条件には当てはまらないのですが、doの中身は実行されています。

switch文 ― caseで処理分け ―

 switch文はif文で書いてしまうと煩雑になってしまうようなコードも、すっきり処理分けしてくれるものです。switch文の構文は以下のようになります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 switchの括弧内の式の値によって、ケース分けをします。defaultは当てはまる値がなかったときの処理です。エラーが発生しないように念のため記述しておく方がいいでしょう。

 それでは、switch文を使って、簡単な占いを作ってみましょう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 「Math.random()」は0〜1の浮動小数点数をランダムで返してくれるものです。

 「int( Math.random() * 3 )」はランダムの値に3を掛けて、int型(整数型)に変換しています。このint()は「キャスト」と呼ばれている処理で、例えば、「a=2.345」であった場合、int(a)は小数部を切り捨てて2を返します。こうすることで、aには、0、1、2のどれかの数字が入るようになります。

 コンパイルして実行してみましょう。

図9 switch文サンプルの実行結果
図9 switch文サンプルの実行結果

プログラムの表現に幅を持たそう!

 このように、制御文についていろいろと紹介しましたが、いかがでしたか? いままでよりも複雑なプログラムが書けるようになりましたね。これらの制御文を組み合わせれば、小さなゲームなども作れるようになるかと思います。

 次回は、オブジェクト指向プログラミングで重要な「クラス」の基本概念について説明したいと思います。お楽しみに!

プロフィール

吉村 美保(よしむら みほ)

クラスメソッド株式会社 情報システム部 プログラマー
ゲーム開発、インストラクターなどの経験を経て、クラスメソッド株式会社に入社。入社後はFlexやAIRによるRIA開発を行っている。



Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る