展示
标注
源码
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 8f; // 移动的速度
public float jumpSpeed = 5f; // 跳跃的速度
public float gravity = 20f; // 重力
private CharacterController _characterController; // 角色控制器
private Vector3 _moveDirection = Vector3.zero; // 基础移动
private void Start()
{
_characterController = GetComponent<CharacterController>();
}
private void Update()
{
Movement();
}
// 移动跳跃
void Movement()
{
if (_characterController.isGrounded)
{
// 移动
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
_moveDirection = new Vector3(h, 0, v);
// 跳跃
if(Input.GetButton("Jump"))
_moveDirection.y = jumpSpeed;
}
_moveDirection.y -= gravity * Time.deltaTime;
_characterController.Move(_moveDirection * moveSpeed * Time.deltaTime);
}
}