我想使用其他脚本中的方法,但它不起作用。我收到以下错误:
资产/脚本/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);
}
}