首页 > 解决方案 > Unity 脚本错误(该脚本不继承可以管理脚本错误的本机类)

问题描述

我目前正在 YouTube 的指导下使用 unity 制作问答游戏(这是我关注的视频https://www.youtube.com/watch?v=G9QDFB2RQGA)。现在,当我尝试将答案脚本添加到按钮组件中时(14:30),我陷入了困境。每次我尝试时,都会弹出脚本不继承本机类的错误消息。已经一天试图找到解决方案,但我仍然找不到它。尝试将脚本文件名、类名更改为相同等,但仍然无法添加脚本。没有编译器错误。有谁知道怎么了?

答案.cs

using System.Collections.Generic;
using UnityEngine;

public class Answers : MonoBehaviour
{
    public bool isCorrect = false;
    public Quizmanager quizmanager;

   public void Answers()
    {
        if (isCorrect)
        {
            Debug.log("Correct answer!");

        else
        {
                Debug.log("Wrong answer ~");
        }
    }
}

测验管理器.cs

using System.Collections.Generic;
using UnityEngine;

public class Quizmanager : MonoBehaviour
{
    public List<Questions> QnA;
    public GameObject[] options;
    public int currentquestions;

    public Text Questiontxt;

    private void Start()

{
        generatequestion();
}
    public void correct()
    {
        QnA.RemoveAt[currentquestions];
        generatequestion();
    }
    void Setanswers()
    {
        for(inr 1=0; 1 <options.Length; int++)
        {
            options[i].GetComponent<AnswersScript>().isCorrect = false;
            options[i].transform.GetChild(0).GetComponent<Text>().text = QnA[currentquestions].Answers[i];
            if(QnA[currentquestions].CorrectAnswer == i + 1)
            {
                options[i].GetComponent<AnswerScript>().isCorrect = true;
            }
        }
    }

    void generatequestion()
    {
        currentquestions = Random.Range(0, QnA.Count);

        Questiontxt.text = QnA[currentquestions].Question;
        Setanswers();

        
    }

}

标签: c#unity3d

解决方案


我在使用 Visual Studio 时遇到了类似的问题。我设法解决它们的唯一方法是创建一个新脚本,并将类内容(不是类名)复制到新文件中并删除旧文件。类名可能会改变,解决方案有点虎头蛇尾,但它通常会让我免于这个问题。


推荐阅读