用C#写出一段玩家用键盘wasd操控角色移动的Unity 3d代码
以下是一段用C#编写的Unity 3D代码,实现了玩家使用键盘wasd操控角色移动的功能:
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 5f; // 角色移动速度
// Update is called once per frame
void Update()
{
// 获取玩家键盘输入
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
// 计算角色移动方向
Vector3 movement = new Vector3(horizontal, 0f, vertical);
// 将移动方向转换为世界坐标系
movement = transform.TransformDirection(movement);
// 角色移动
transform.position += movement * speed * Time.deltaTime;
}
}
代码中,我们定义了一个PlayerMovement类,该类继承自MonoBehaviour,并且有一个公共变量speed,用于控制角色移动速度。
在Update函数中,我们使用Input.GetAxis函数获取玩家的键盘输入,将其转换为角色移动方向,并将其转换为世界坐标系后,使用transform.position属性实现角色的移动。其中,我们使用了Time.deltaTime来保证角色的移动速度与帧率无关。
使用此代码,我们可以在Unity编辑器中将其作为脚本挂载到角色对象上,即可实现玩家使用键盘wasd操控角色移动的功能
原文地址: https://www.cveoy.top/t/topic/hu91 著作权归作者所有。请勿转载和采集!