unity3d 无法将脚本添加到预置

zz2j4svz  于 2023-04-21  发布在  其他
关注(0)|答案(1)|浏览(228)

我一直在关注YouTube上的一个编码教程,但我不能将脚本附加到预制件上,因为它一直说没有monobehavior或脚本类和文件不匹配。
我已经将我的脚本重命名为MYPlayer,并将预制件重命名为MYPlayer,但它仍然不工作。任何帮助都非常感谢。
下面是我的代码:

using UnityEngine;
using UnityEngine.InputSystem;

public class MYPlayer : MonoBehaviour
{
    private Controls controls;

    [SerializeField] private bool moveKeyHeld;

    private void Awake() => new Controls();

    private void OnEnable()
    {
        controls.Enable();

        controls.Player.Movement.started += OnMovement;
        controls.Player.Movement.canceled += OnMovement;

        controls.Player.Exit.performed += OnExit;

    }

    private void OnDisable()
    {
        controls.Disable();

        controls.Player.Movement.started -= OnMovement;
        controls.Player.Movement.canceled -= OnMovement;

        controls.Player.Movement.Exit.performed -= OnExit;
    }

    private void OnMovement(InputAction.CallbackContext ctx)
    {
        if (ctx.started)
        moveKeyHeld = true;
        else if (ctx.canceled)
        moveKeyHeld = false;
    }

    private void OnExit(InputAction.CallbackContext ctx)
    {
        Debug.Log("Exit");
    }

    private void FixedUpdate()
    {
        transform.postion += (Vector3)controls.Player.Movement.ReadValue<Vector2>();
        GameManager.instance.EndTurn();
    }
}

我按照教程,但我不能附加脚本,一个错误称为“脚本类无法找到”出现。

cwtwac6a

cwtwac6a1#

当类名和文件名不同时会出现此问题。将MYPlayer类文件重命名为MYPlayer.cs,它应该可以工作。

相关问题