Menu
CoddyTech

用 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 的位置放置一个箱子。你会在本章稍后编写自己的方法。

challenge icon

挑战

中等

用 for 循环将 5 个箱子排成一行。

  1. 在 Start() 中,将 PlaceCrate(0); 替换为 for (int i = 0; i < 5; i++) 和它的花括号。
  2. 在循环内,调用 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 在线编辑器