forで繰り返す
CoddyのUnityジャーニー「Unityスクリプトの基礎」セクションの一部。レッスン 37/85。
forループは、カウントしながら、その中の行を何度も実行します。
for (int i = 0; i < 5; i++)
{
Debug.Log("Round " + i);
}かっこの中には3つの部分があります。カウンターの開始位置(int i = 0)、続行する条件(i < 5)、各回の後に行うこと(i++)です。このループは5回実行され、iは0、1、2、3、4になります。
カウンターを使って計算できます。i * 2は0、2、4、6、8になります。
PlaceCrateは、あらかじめ用意されたメソッドです。名前の付いた行のまとまりです。PlaceCrate(3);を実行すると、その行が実行され、x = 3の位置に木箱が置かれます。この章の後半では、自分でメソッドを書きます。
チャレンジ
中級forループを使って、木箱を5個横一列に配置しましょう。
Start()内で、PlaceCrate(0);をfor (int i = 0; i < 5; i++)とその波括弧に置き換えます。- ループ内で
PlaceCrate(i * 2 - 4);を呼び出します。これにより、x = -4、-2、0、2、4となります。
「プレイ」を押すと、木箱が5個、2ずつ離れて横一列に並びます。その後、「確認」を押します。
自分で試してみよう
using UnityEngine;
public class CrateRow : MonoBehaviour
{
void Start()
{
// 5 個の木箱を x = -4, -2, 0, 2, 4 の位置に配置する。
PlaceCrate(0);
}
void PlaceCrate(float x)
{
GameObject crate = GameObject.CreatePrimitive(PrimitiveType.Cube);
crate.name = "Crate";
crate.transform.position = new Vector3(x, 0.5f, 0);
crate.GetComponent<Renderer>().material.color = new Color(0.8f, 0.55f, 0.3f);
}
}
Unityスクリプトの基礎のすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド