Unity 角色移动代码示例:平滑移动实现
这是一个基本的 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 移动代码!如果你有更多的问题,请随时问我。
原文地址: https://www.cveoy.top/t/topic/bHyK 著作权归作者所有。请勿转载和采集!