添加组件
代码
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
private PlayerControlls controls;
private CharacterController characterController;
[SerializeField]
private float walkSpeed = 5f;
private Vector3 movementDirection;
private Vector2 moveInput;
private Vector2 aimInput;
private void Awake()
{
controls = new PlayerControlls();
controls.Character.Movement.performed += ctx => moveInput = ctx.ReadValue<Vector2>();
controls.Character.Movement.canceled += ctx => moveInput = Vector2.zero;
controls.Character.Aim.performed += ctx => aimInput = ctx.ReadValue<Vector2>();
controls.Character.Aim.canceled += ctx => aimInput = Vector2.zero;
characterController = GetComponent<CharacterController>();
}
private void Update()
{
movementDirection = new Vector3(moveInput.x, 0, moveInput.y);
if (movementDirection.magnitude >= 0.1f)
{
characterController.Move(movementDirection * Time.deltaTime * walkSpeed);
}
}
private void OnEnable()
{
controls.Enable();
}
private void OnDisable()
{
controls.Disable();
}
}
已有 0 条评论