unity中控制人物行走的代码
时间: 2023-06-01 08:04:01 浏览: 136
以下是一个简单的Unity控制人物行走的代码:
```
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f; // 人物移动速度
private Rigidbody2D rb;
private Vector2 movement;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
// 获取水平和垂直输入
movement.x = Input.GetAxisRaw("Horizontal");
movement.y = Input.GetAxisRaw("Vertical");
}
void FixedUpdate()
{
// 移动人物
rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
}
}
```
在该代码中,我们使用了Unity提供的Rigidbody2D组件来控制人物的运动。在Start()函数中,我们获取了人物的Rigidbody2D组件。在Update()函数中,我们使用Input.GetAxisRaw("Horizontal")和Input.GetAxisRaw("Vertical")来获取水平和垂直输入,并将它们存储在movement变量中。在FixedUpdate()函数中,我们使用rb.MovePosition()方法来移动人物,其中rb.position表示当前人物的位置,movement * moveSpeed * Time.fixedDeltaTime表示移动的距离和速度。需要注意的是,我们使用了FixedUpdate()函数而不是Update()函数来更新人物的位置,因为FixedUpdate()函数在固定的时间间隔内调用,这样可以确保人物的运动更加平滑。
阅读全文