编辑代码

using System;
using UnityEngine.InputSystem;

public class PlayerController : MonoBehaviour
{
    public PlayerInputController inputControl;
    public Vector2 inputDirection;

    [Header("基本参数")]
    public float speed;
    public float jumpForce;
    private Rigidbody rig;

    private void Awake()
    {
        inputControl = new PlayerInputController();
        rig = GetComponent<Rigidbody>();

        inputControl.Gameplay.Jump.started += Jump;
    }

    private void OnEnable()
    {
        inputControl.Enable();
    }

    private void OnDisable()
    {
        inputControl.Disable();
    }

    private void Update()
    {
        //Gameplay是自己命名的inputAcition Action Maps
        inputDirection = inputControl.Gameplay.Move.ReadValue<Vector2>();
    }

    private void FixedUpdate()
    {
        Move();
    }

    public void Move()
    {
        rig.velocity = new Vector3(inputDirection.x * speed * Time.deltaTime,
                                  rig.velocity.y, inputDirection.z);
    }

    public void Jump(InputAction.CallbackContext obj)
    {
        rig.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
    }
}