В сценарии называется MenuScript
, я следующие методы для загрузки новой сцены с звук щелчка, когда кнопка запуска нажата:использованием Re-методы с GetComponent
/// Play a sound and change the scene.
public void LoadLevel(string sceneName)
{
audioSource.Play();
StartCoroutine(LoadSceneAsync(sceneName));
}
/// Change the scene (load the level).
private IEnumerator LoadSceneAsync(string levelName)
{
yield return new WaitForSeconds(0.2f);
Application.LoadLevel(levelName);
}
/// Start the simulation once the Start Button is clicked.
public void startSimulation()
{
LoadLevel("mainScene");
}
Я сделал это вместо того, чтобы просто использовать Application.LoadLevel("mainScene");
конечно, я храню объект игры, который имеет этот сценарий, прикрепленный к от получения разрушен в Awake
:
void Awake()
{
DontDestroyOnLoad(GameObject.Find("Menu Manager"));
}
Теперь ... в этом Загрузив новую сцену, я хотел бы сделать то же самое для загрузки еще одной сцены, используя одни и те же функции выше, которые существуют в MenuScript
сценарии, так что я написал следующее:
void Start()
{
GameObject menuManager = GameObject.Find("Menu Manager");
MenuScript menuScript = menuManager.GetComponent<MenuScript>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Z))
menuScript.LoadLevel("finalScene");
}
Однако, часть menuScript.LoadLevel
подсвечена красным цветом. Что я делаю не так? Это хороший способ использовать эти методы? Может кто-то, пожалуйста, помогите мне понять, что мне не хватает, или, возможно, есть лучший способ сделать это? Спасибо
Спасибо Никита. Теперь это ясно. – Joshua