Почему MonoDevelop и Unity3D не знают Application.LoadLevel () ;? - PullRequest
1 голос
/ 28 октября 2019

Я пытаюсь перейти на следующий уровень, но мой редактор говорит:

Assets/next.cs(5,30): error CS1519: Unexpected symbol `(' in class, struct, or interface member declaration

Использование Unity 4.7.2, код C #

using UnityEngine;

public class next : MonoBehaviour {

    Application.LoadLevel("1");

}

Я не ожидал ошибокв этой ситуации, но у меня есть «лающий» редактор: (

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Вы не можете вызвать это там, это должно быть сделано внутри метода

Так что вы можете сделать это в Awake() или Start(), или определить свой собственный. Кроме того, я не знаю, какую версию Unity вы используете, но Application.LoadLevel() устарела, вы должны использовать SceneManager.LoadScene(). Например:

using UnityEngine;

public class next : MonoBehaviour 
{
    private void GoToSceneOne()
    {
        Application.LoadLevel("1"); // SceneManager.LoadScene("1");
    }
}
0 голосов
/ 28 октября 2019

Обратите внимание, что я не разработчик Unity, но так как ваша проблема - ошибка C # ... давайте исправим это. Попробуйте добавить конструктор в класс следующим образом:

using UnityEngine;

public class next : MonoBehaviour {

    public next() {
       Application.LoadLevel("1");
    }
}

Вы можете показать проблему следующим образом:

using System;

public class Program
{
    public static void Main()
    {
        var next = new next();
        Console.WriteLine("Hello World");
    }

    public class next
    {
        //public next()
        //{
            Console.WriteLine("1");
        //}
    }
}

Теперь, если вы раскомментируете конструктор, он будет работать, как и ожидалось. Ошибка исчезла.

Попробуйте онлайн!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...