2015-12-28 4 views
2
void OnMouseDown() { 
    SceneManager.LoadScene ("Scene2"); 
} 

Я пробовал все мыслимые методы. Опубликованный метод работал для меня с помощью GameObjects с коллайдерами. Вместо этого на этот раз я использую кнопку на двумерном холсте. В этом контексте это не работает.Загрузить сцену, используя кнопку холста

Как загрузить новую сцену с помощью кнопки на холсте? Я пробовал так много разных вещей. Это должно быть просто.

Спасибо за любой совет.

ответ

0

Здесь (ссылка: Unity page) вы можете найти видео-учебник, как использовать кнопку на холсте в UnityGUI. Это для Unity 4.6, но оно действительно похоже на новее (5.3.1).

Это довольно просто. U может сделать скрипт с открытым способом например

public void LoadScene2() 
{ 
    SceneManager.LoadScene ("Scene2"); 
} 

Присоединить этот сценарий к некоторому GameObject например контроллеру. И добавьте событие в контролер Button.

+0

Решение было определенно не очевидно, но это видео было объяснить. Я использовал ваш код, привязал сценарий к игровому объекту (основной камере), а затем подключил этот игровой объект к кнопке в инспекторе. Оттуда я смог выбрать функцию LoadScene2(). Спасибо за помощь, которая была на месте. –

+0

Я стараюсь, чтобы вы прочитали мой ответ, хотя этот ответ на 100% правильный, его не оптимально, если имя вашей сцены меняется. –

0

На мой взгляд, есть лучшее решение для того, что показано @ Paweł Marecki Я использую это в своих проектах. ОК, так что вы просто создать сценарий под названием ButtonManager и внутри нее вы можете сделать метод как этот

public void ChangeToScene(string sceneName) 
{ 
    Application.LoadLevel(sceneName); 
    OR 
    SceneManager.LoadScene(sceneName); 
} 

Теперь у вас есть кнопка холст, вы будете выбирать его и искать «Event Trigger» (я получил это изображение из Google, чтобы помочь) добавить новое событие мыши. Создайте пустой объект GameObject на своей сцене, назовите его «ButtonManager» и перетащите его в поле события.

Теперь вам нужно щелкнуть этот список dropDown и найти свой метод «ChangeToScene». Вы увидите, что ниже появится поле редактора, введите нужное имя сцены и нажмите кнопку воспроизведения: P

Таким образом, вы всегда будете использовать этот скрипт, когда хотите сменить сцены. Вы можете добавить другие методы и добавить функциональность, но прекрасная часть состоит в том, что вам не нужно создавать метод каждый раз, когда изменяется имя сцены.

enter image description here

+0

Обратите внимание, что Application.Loadlevel устарел с версии 5.5. – Uila

Смежные вопросы