C# 错误CS0117:“级别”不包含“实例”的定义

C# 错误CS0117:“级别”不包含“实例”的定义,c#,unity3d,C#,Unity3d,我是C的新手,想开发游戏。Unity改变了一些语法,比如应用程序。无法解决错误。已检查所有拼写。实例如何在这里工作 尝试在Unity文档和google中搜索。它来自我正在学习的书。可在谷歌上找到。如果我们输入代码,它会给这本书 大宗报价 大宗报价 错误CS0117:“级别”不包含“实例”的定义 似乎您正在尝试将级别视为一个,但尚未实现级别的单例 您可以按如下方式实现单例: private static Level instance; public static Level Instance

我是C的新手,想开发游戏。Unity改变了一些语法,比如应用程序。无法解决错误。已检查所有拼写。实例如何在这里工作

尝试在Unity文档和google中搜索。它来自我正在学习的书。可在谷歌上找到。如果我们输入代码,它会给这本书

大宗报价

大宗报价

错误CS0117:“级别”不包含“实例”的定义


似乎您正在尝试将级别视为一个,但尚未实现级别的单例

您可以按如下方式实现单例:

private static Level instance;

public static Level Instance 
{
    get 
    {
        if (instance == null)
        {
            instance = FindObjectOfType<Level>();
        }

        return instance
     }
}
当然,如果在当前场景中没有附加了关卡组件的游戏对象,它将不起作用

此外,您目前正在学习的教程似乎已经作为一个部分类提高了级别。指南可能为包含单例的部分级别类创建了另一个脚本。
您可能刚刚错过了它,或者指南还没有提到这一部分。

如果没有看到Level的代码,很难说,但正如错误所述。。。没有定义实例。。也许你或这本书遗漏了什么;我对您的库没有深入的了解,但是如果您使用Visual Studio或某个IDE,如果您只编写Level然后编写a.,IDE应该会向您推荐一些可以找到您要查找的方法的内容。您可以显示Level的脚本吗?@madhans您提供的链接是一个局部类,因此。。剩下的在哪里?在您链接的部分中,至少现在没有需要添加的实例,因为FindObjectOfType是一个非常慢的方法,您应该使用一个方法而不是属性。因为属性通常意味着它们的实现是快速可靠的。
private static Level instance;

public static Level Instance 
{
    get 
    {
        if (instance == null)
        {
            instance = FindObjectOfType<Level>();
        }

        return instance
     }
}