untiy人物移动代码
时间: 2023-07-09 09:31:17 浏览: 98
以下是一个简单的Unity人物移动代码示例:
```csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed = 5f; // 移动速度
private Rigidbody2D rb; // 刚体组件
private Vector2 movement; // 移动向量
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
// 获取水平和垂直输入值
movement.x = Input.GetAxisRaw("Horizontal");
movement.y = Input.GetAxisRaw("Vertical");
}
// FixedUpdate is called once per physics update
void FixedUpdate()
{
// 移动角色
rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
}
}
```
在这个示例中,我们首先定义了一个公共的 `moveSpeed` 变量,用于控制人物移动速度。然后我们获取了 `Rigidbody2D` 组件,并定义了一个 `movement` 向量,用于存储玩家的移动方向。在 `Update()` 方法中,我们获取了玩家的水平和垂直输入值,并将它们存储在 `movement` 向量中。最后,在 `FixedUpdate()` 方法中,我们使用 `rb.MovePosition()` 方法来移动角色,其中 `rb.position` 是当前角色的位置,`movement` 是移动方向,`moveSpeed` 是移动速度,`Time.fixedDeltaTime` 是当前物理更新的时间间隔。
阅读全文