给我一份用键盘控制角色移动的unity脚本
时间: 2024-03-08 08:49:35 浏览: 70
当然,以下是一个简单的用键盘控制角色移动的Unity脚本:
```csharp
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float speed = 5f;
private Rigidbody2D rb;
private Vector2 moveDirection;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
// 获取按键输入
float moveX = Input.GetAxisRaw("Horizontal");
float moveY = Input.GetAxisRaw("Vertical");
moveDirection = new Vector2(moveX, moveY).normalized;
}
void FixedUpdate()
{
// 移动角色
rb.MovePosition(rb.position + moveDirection * speed * Time.fixedDeltaTime);
}
}
```
解释一下:这个脚本中,我们定义了一个速度变量 `speed`,用来调整角色移动的速度。在 `Start` 函数中,我们获取了角色的 `Rigidbody2D` 组件。在 `Update` 函数中,我们获取了键盘输入,并将其转换成一个二维向量 `moveDirection`。在 `FixedUpdate` 函数中,我们使用 `Rigidbody2D.MovePosition` 函数来移动角色。
注意:为了使角色在各个设备上的移动速度一致,我们使用了 `FixedUpdate` 函数,而不是 `Update` 函数。
阅读全文