Что означает эта ошибка во время компиляции?«Ссылка на объект требуется для доступа к нестатическому члену». - PullRequest
0 голосов
/ 23 апреля 2019

Я хочу использовать метод из другого скрипта, но он не работает. Я получаю следующую ошибку:

Активы / Сценарии / 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);
}

Ответы [ 2 ]

3 голосов
/ 23 апреля 2019

Ошибка дает вам ответ. В тот момент, когда вы его используете, должен быть создан объект типа SceneLoader. Вам нужно создать экземпляр объекта, чтобы получить ссылку на него.

SceneLoader sceneLoader = new SceneLoader();
0 голосов
/ 23 апреля 2019

Создайте класс с именем SceneLoader, который является статическим, определите метод LoadNextScene как открытый, вы пытаетесь использовать класс в статическом контексте, для которого требуется сначала создать экземпляр объекта.

public class SceneLoader
{
    public static void LoadNextScene()
    {
        int currentSceneIdx = SceneManager.GetActiveScene().buildIndex;
        SceneManager.LoadScene(currentSceneIdx +1);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...