
Unity中的Variables(变量)就像一个容器,每个变量都有名称、类型和值,这些值可以在运行时根据需要发生变化,而这些数据对于跟踪游戏是非常有用的,例如控制数据如何发生交互。
要制作变量,需要准备三个东西:
- Access Modifier – 访问修饰符(公共或私人)。
- Type – 类型(int、string、float或任何其他数据或类类型)。
- 标识符 – 也就是变量声明的名称。
例如下面的代码中展示不同的类型是如何分配变量的示例。
public class Player : MonoBehaviour
{
public float mySpeed = 5f;
private string _myName = "Mr. Player";
private string _myDescription = 'I'm just a little square.";
public int myHitPoints = 100;
在Unity中使用变量的好处是,可以随时通过代码或Unity检查器更改它们包含的数据。
例如:
public class Player : MonoBehaviour
{
public float mySpeed = 1f;
// 在第一次帧更新之前开始调用
void Start()
{
// 将玩家的位置设置为(0,0,0),游戏世界的中心
transform.position = Vector3.zero;
}
// 每帧调用一次更新
void Update()
{
// 以每秒“mySpeed”单位向右移动玩家
transform.position += Vector3.right * mySpeed * Time . deltaTime;
}
}
在上面的代码中,已将“mySpeed”设置为了公共变量,并使用它来确定玩家在更新方法中移动的速度。

例如:
可以在游戏运行时更改速度变量,随着速度变化,玩家将移动得更快、更慢,甚至向后移动。
public class Player : MonoBehaviour
{
private Transform _cameraTransform;
public float mySpeed = 1f;
// 在第一次帧更新之前开始调用
void Start()
{
// 获取摄像头的位置并将其显示在控制台中
_cameraTransform = Camera.main.transform;
Vector3 cameraPosition = _cameraTransform.position;
Debug.Log($"The position of the camera is:{cameraPosition}");
变量还可以存储在Unity中使用更复杂类型的数据。例如,可以将相机的转换对象存储在变量中,然后在代码中使用它。
开始游戏后,将会告诉我们有关相机位置的信息,并将其输出到控制台上。

总之变量是非常强大的工具,在Unity中也不例外,可以在方法面面中使用。