Unity事例ノート

UNITY

foreach文を使ったくり返し処理

foreach文によるループ処理により、配列(Array)の中のオブジェクトを出現させてみましょう。

breakやcontinueも使用してループを制御し、生成するオブジェクトの種類を変えてみます。

関連記事:
配列をすべてリストに移す
同じタグのついたオブジェクトだけを消す
重複せずランダムでオブジェクトを並べる
配列にある複数オブジェクトを一気に出す
配列内のオブジェクトを等間隔に並べる

foreachで配列の中をすべて出す

空のオブジェクを作成します。

Cubeを作成して、名前をCube1に変更。

Cube1を複製して、Cube2~4も作成します。

わかりやすいように、Cube1~5に色をつけます。

Cube1~5をプロジェクトビューにドラッグ&ドロップして、Prefab化します。

Cube1~5の元データは削除しておきます。

ObjScript.csを作成し、GameObjectに追加します。

ObjScript.csを記述します。

MyArrayの要素の中に、Cube1~5を入れます。

ゲームプレイしてみましょう。

配列のサイズだけオブジェクト生成がくり返されて、Cubeが5個積みあがります。

breakを使う

breakを入れてループを抜け、Cubeの数を変えてみましょう。

ObjScript.csにスクリプトを追加します。

ゲームプレイしてみましょう。

breakを入れると、繰り返しを中断してループを抜けます。

Cube4になればループを抜けるため、Cubeは4個積みあがって終わります。

continueを使う

次に、ループの中にcontinueを入れて、処理をスキップさせてみましょう。

ObjScript.csにスクリプトを追加します。

ゲームプレイしてみましょう。

continueを入れると、その後の処理は実行されず、foreach内の次の処理へ行きます。

Cube2をcontinueにしているので、その後のCube3の生成は実行されていません。

関連記事:
配列をすべてリストに移す
同じタグのついたオブジェクトだけを消す
重複せずランダムでオブジェクトを並べる
配列にある複数オブジェクトを一気に出す
配列内のオブジェクトを等間隔に並べる

SCHOOL教室案内