Menu
CoddyTech

每帧移动

本课属于 Coddy Unity 学习旅程的“Unity 脚本基础”单元。第 10 课,共 85 课。

Unity 每绘制一帧,就会调用一次 Update()。在其中稍微改变位置,对象就会在每一帧移动一点,在屏幕上看起来就是平滑运动。

对位置使用 += 会将一个 Vector3 加到位置上:x、y 和 z 各自都会增加对应的数值。这个气球每帧上升 0.02 个单位,并且 x 和 z 坐标保持不变:

void Update()
{
    transform.position += new Vector3(0, 0.02f, 0);
}

f 是你已经了解的 C# 浮点数后缀:Unity 使用 float,而单独写 0.02 会被视为 double。如果每秒绘制 60 帧,气球每秒会上升 0.02 x 60 = 1.2 个单位。

challenge icon

挑战

简单

让红色汽车向前行驶。

  1. 在 Update() 中,用 += 将 new Vector3(0, 0, 0.05f) 加到 transform.position 上。
  2. 将 x 和 y 保持为 0:汽车只沿 z 轴移动。

按“开始”:汽车会驶离摄像机。然后点击“检查”。

亲手试试

using UnityEngine;

public class CarMover : MonoBehaviour
{
    void Update()
    {
        // 在这里让汽车沿 z 轴向前移动
    }
}

Unity 脚本基础中的所有课

自己练习: Unity 在线编辑器