我一直在关注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();
}
}
我按照教程,但我不能附加脚本,一个错误称为“脚本类无法找到”出现。
1条答案
按热度按时间cwtwac6a1#
当类名和文件名不同时会出现此问题。将MYPlayer类文件重命名为MYPlayer.cs,它应该可以工作。