unity WASD控制人物代码
时间: 2024-10-15 22:10:51 浏览: 109
在Unity中,WASD键控制人物移动通常涉及到Input系统和Transform组件。以下是一个简单的脚本示例,它会在用户按下"W"、"A"、"S"和"D"键时移动角色:
```csharp
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 5f; // 角色移动速度
private void Update()
{
// 检查输入
float horizontal = Input.GetAxis("Horizontal"); // 左右方向
float vertical = Input.GetAxis("Vertical"); // 前后方向
// 根据输入调整transform的位置
transform.position += Vector3.MoveTowards(transform.position, new Vector3(transform.position.x + horizontal * speed, transform.position.y, transform.position.z), Time.deltaTime * speed);
// 简单地处理WASD控制(这里假设W代表向前,A代表向左,S代表向后,D代表向右)
if (Input.GetKeyDown(KeyCode.W)) transform.Translate(Vector3.forward * speed * Time.deltaTime);
if (Input.GetKeyDown(KeyCode.A)) transform.Translate(Vector3.left * speed * Time.deltaTime);
if (Input.GetKeyDown(KeyCode.S)) transform.Translate(-Vector3.forward * speed * Time.deltaTime);
if (Input.GetKeyDown(KeyCode.D)) transform.Translate(Vector3.right * speed * Time.deltaTime);
}
}
```
阅读全文