在 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录