每帧移动
本课属于 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 个单位。
挑战
简单让红色汽车向前行驶。
- 在
Update()中,用+=将new Vector3(0, 0, 0.05f)加到transform.position上。 - 将 x 和 y 保持为
0:汽车只沿 z 轴移动。
按“开始”:汽车会驶离摄像机。然后点击“检查”。
亲手试试
using UnityEngine;
public class CarMover : MonoBehaviour
{
void Update()
{
// 在这里让汽车沿 z 轴向前移动
}
}
Unity 脚本基础中的所有课
自己练习: Unity 在线编辑器