用 for 循环重复
本课属于 Coddy Unity 学习旅程的“Unity 脚本基础”单元。第 37 课,共 85 课。
for 循环会一遍又一遍地运行其中的语句,并在运行过程中计数:
for (int i = 0; i < 5; i++)
{
Debug.Log("Round " + i);
}括号中有三部分:计数器的起始值(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。
按“开始”:五个箱子排成一行,彼此相隔 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 在线编辑器