此编译时错误是什么意思? "An object reference is required to access non-static member."



我想使用其他脚本中的方法,但它不起作用。我收到以下错误:

资产/脚本/Licznik.cs(21,25(:错误 CS0120:对象引用是 需要访问非静态成员"SceneLoader.LoadNextScene((">

我想使用其他脚本的方法

[SerializeField] int BlocksToDestroy;
[SerializeField] int BlocksDestroyed;
// Update is called once per frame
void Update ()
{
    if (BlocksToDestroy == BlocksDestroyed)
    {
        SceneLoader.LoadNextScene();
    }
}
public void LoadNextScene()
{
    int currentrySceneIndex = SceneManager.GetActiveScene().buildIndex;
    SceneManager.LoadScene(currentrySceneIndex +1);
}

错误给了你答案。在使用它时,必须已创建 SceneLoader 类型的对象。您需要实例化对象以获取对它的引用。

SceneLoader sceneLoader = new SceneLoader();

创建一个名为 SceneLoader 的静态类,将方法 LoadNextScene 定义为公共,您正在尝试在需要首先实例化的静态上下文中使用一个类。

public class SceneLoader
{
    public static void LoadNextScene()
    {
        int currentSceneIdx = SceneManager.GetActiveScene().buildIndex;
        SceneManager.LoadScene(currentSceneIdx +1);
    }
}

相关内容

最新更新