29 用户输入之移动角色
在上一节中,我们讨论了如何获取用户输入,包括键盘和鼠标的基本操作。现在,我们将基于这些输入来控制角色的移动。这一节,我们将实现一个简单的角色移动系统,使玩家能够通过键盘输入来控制角色在场景中的位置。
准备工作
首先,确保你已经设置好了一个简单的场景,其中有一个可控制的角色。我们可以使用一个简单的3D角色模型,或者你可以使用Unity自带的Cube
对象作为占位符。
创建角色
- 在Hierarchy面板中,右键点击选择
3D Object
->Cube
,创建一个新立方体作为角色。 - 将立方体的
Position
属性设置为 $(0, 1, 0)$,使其悬浮在地面上。
角色移动脚本
接下来,我们将创建一个C#脚本来处理角色的移动。按照以下步骤进行:
- 在Project面板中,右键点击
Assets
文件夹,选择Create
->C# Script
,命名为PlayerMovement
。 - 双击文件夹中的
PlayerMovement.cs
脚本,打开它进行编码。
以下是基本的角色移动代码:
1 | using UnityEngine; |
代码解析
public float moveSpeed = 5f;
:这是角色移动的速度,可以在Unity编辑器中调整。Input.GetAxis("Horizontal")
:这会返回用户按下的水平方向键(默认是 A 和 D 或者 左右箭头),值在 $[-1, 1]$ 之间。Input.GetAxis("Vertical")
:这会返回用户按下的垂直方向键(默认是 W 和 S 或者 上下箭头),同样值在 $[-1, 1]$ 之间。Vector3 movement
:我们创建一个新的向量,表示角色的移动方向。transform.Translate(...)
:使用此函数将角色移动到新的位置。我们乘以Time.deltaTime
以确保移动是平滑的。
应用脚本
将 PlayerMovement
脚本应用到创建的角色(立方体)上:
- 在Hierarchy面板中选择立方体。
- 在Inspector面板中,点击
Add Component
,然后搜索并添加PlayerMovement
脚本。
测试运行
- 点击Unity的播放按钮(Play)启动游戏模式。
- 使用 WASD 或者箭头键控制立方体的移动。
你应该看到立方体可以在场景中移动,根据你的输入改变其位置。
结论
在本节中,我们实现了一个基本的角色移动系统,通过用户输入来控制角色。这个系统为创建更复杂的游戏机制打下了基础,因为我们可以在此基础上添加更多的功能,例如角色的跳跃、攻击等。
在下一节中,我们将介绍如何使用 UI 按钮来控制角色移动,这将帮助你更好地理解 Unity 中的 UI 交互。
继续关注这系列教程,以便学习更多关于 Unity 游戏开发的知识!
29 用户输入之移动角色