在一个新的场景中,执行操作GameObject -> 3Dobject -> Cube,并新建一个脚本文件MoveCube.cs并将其作为Cube组件。要求场景运行时,Cube在(0,0,0)处,利用GUI生成4个GUI按钮,按钮上文字分别为“前进”、“后退”、“左移”、“右移”,单击这些按钮,能让Cube在Z轴方向上前后移动、在X轴方向上左右移动1个单位。请写出MoveCube.cs脚本的完整代码并详细注释。
时间: 2023-02-27 15:58:12 浏览: 75
以下是MoveCube.cs脚本的代码:
```
using UnityEngine;
public class MoveCube : MonoBehaviour
{
// 定义移动速度
private float speed = 1f;
private void OnGUI()
{
// 创建前进按钮
if (GUI.Button(new Rect(10, 10, 50, 30), "前进"))
{
transform.position += new Vector3(0, 0, speed);
}
// 创建后退按钮
if (GUI.Button(new Rect(70, 10, 50, 30), "后退"))
{
transform.position -= new Vector3(0, 0, speed);
}
// 创建左移按钮
if (GUI.Button(new Rect(10, 50, 50, 30), "左移"))
{
transform.position -= new Vector3(speed, 0, 0);
}
// 创建右移按钮
if (GUI.Button(new Rect(70, 50, 50, 30), "右移"))
{
transform.position += new Vector3(speed, 0, 0);
}
}
}
```
说明:
- `OnGUI` 函数:Unity中用来创建GUI界面的函数。
- `GUI.Button` 函数:创建按钮。参数1是按钮的位置(坐标与大小),参数2是按钮的文字。
- `transform` 关键字:代表当前对象的Transform组件。
- `transform.position`:代表当前对象的位置。
- `+=` 与 `-=` 运算符:加上或减去一个数。
- `new Vector3(0, 0, speed)` 与 `new Vector3(speed, 0, 0)`:分别代表Z轴方向上的前进(后退)和X轴方向上的左移(右移)。
阅读全文