这是一个基本的 Unity 移动代码示例,用于将一个游戏对象平滑地移动到玩家输入的方向。你可以将以下代码添加到角色的脚本中:

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float moveSpeed = 5f;
    private Rigidbody2D rb;

    private void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    private void Update()
    {
        float moveX = Input.GetAxis('Horizontal');
        float moveY = Input.GetAxis('Vertical');

        Vector2 movement = new Vector2(moveX, moveY);
        movement.Normalize();

        rb.velocity = movement * moveSpeed;
    }
}

在这个示例中,我们使用了 Unity 的 Input 类来获取玩家的输入,并将其保存在 'moveX' 和 'moveY' 变量中。然后,我们将输入向量标准化,以确保角色以相同的速度在所有方向上移动。最后,我们将标准化后的输入向量乘以移动速度,并将结果赋值给刚体的速度 ('rb.velocity')。

确保将这个脚本挂载到你的角色游戏对象上,并在 Inspector 窗口中将移动速度设置为适当的值。这样,当玩家按下水平或垂直方向键时,角色就会根据输入平滑地移动。记得在角色的刚体组件上启用 'Is Kinematic' 选项,以避免不必要的物理模拟。

希望这能帮助你开始编写基本的 Unity 移动代码!如果你有更多的问题,请随时问我。

Unity 角色移动代码示例:平滑移动实现

原文地址: https://www.cveoy.top/t/topic/bHyK 著作权归作者所有。请勿转载和采集!

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