Unity WSAD 控制物体移动代码示例
在 Unity 中,可以使用以下代码来实现使用 WSAD 键控制物体的前后左右移动:
using UnityEngine;
public class ObjectMovement : MonoBehaviour
{
public float moveSpeed = 5f;
void Update()
{
float horizontalInput = Input.GetAxis('Horizontal');
float verticalInput = Input.GetAxis('Vertical');
Vector3 movement = new Vector3(horizontalInput, 0f, verticalInput) * moveSpeed * Time.deltaTime;
transform.Translate(movement);
}
}
在上述代码中,我们首先声明了一个公共的浮点数变量 moveSpeed ,用于控制物体的移动速度。
然后,在 Update 方法中,我们使用 Input.GetAxis 方法来获取键盘输入的水平和垂直方向上的输入值。Input.GetAxis 方法可以根据键盘的输入自动映射为 -1 到 1 之间的浮点数。
接下来,我们创建了一个 Vector3 类型的变量 movement ,用于存储物体在三维空间中的移动方向。我们将水平方向的输入值作为 x 轴的分量,垂直方向的输入值作为 z 轴的分量,y 轴分量为 0。
最后,我们使用 transform.Translate 方法将物体按照 movement 的方向进行移动。Time.deltaTime 是一个用于平滑计算的时间间隔,可以使物体在不同的帧率下移动速度保持一致。
将以上代码添加到物体的脚本中,并将该脚本附加到需要控制的物体上,就可以使用 WSAD 键来控制物体的前后左右移动了。
原文地址: https://www.cveoy.top/t/topic/o2Yp 著作权归作者所有。请勿转载和采集!