Переход между сценами в Unity по кнопке

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

Давайте начнем. Для начала создадим в ассетах 2 новые сцены и назовем их «Scene1» и «Scene2».

Переход между сценами в Unity по кнопке

Чтобы создать новую сцену, щелкните правой кнопкой мыши по панели ассетов и выберите Create > Scene.

В этих сценах нам нужно создать элементы, с помощью которых мы будем переходить между сценами. Сделать это можно различными способами, но для облегчения понимания будем использовать самый простой способ. Мы будем создавать объект SceneChanger, который будет обрабатывать весь код изменения сцены.

Обычно, когда сцена сменяется от одной к другой, все экземпляры игровых объектов, сценариев и т. д., принадлежащие этой сцене, уничтожаются, а загружаются экземпляры из новой. Другой метод заключается в использовании функции DontDestroyOnLoad (), которая будет поддерживать ссылку на объект при смене сцены, но об этом следует поговорить в другом уроке.

Видео:ПЛАВНАЯ смена сцены В Unity | Переход локаций легко и простоСкачать

ПЛАВНАЯ смена сцены В Unity | Переход локаций легко и просто

Создание объекта и префаба SceneChanger

Итак, вернемся в Unity, на вкладке иерархии в «Scene1» создадим пустой объект и назовем его «SceneChanger».

Переход между сценами в Unity по кнопке

Теперь добавим скрипт к объекту «SceneChanger» и назовем его «SceneChanger». 

Откроем скрипт в Visual Studio и напишем следующий код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class SceneChanger : MonoBehaviour
{
	public void ChangeScene(string sceneName)
	{
		SceneManager.LoadScene (name);
	}
	public void Exit()
	{
		Application.Quit ();
	}
}

Далее необходимо создать префаб , для этого просто выберите объект в иерархии и перетащите его в папку «Assets» на вкладке «Project» . После этого вы увидите синий куб с тем же именем объекта.

Переход между сценами в Unity по кнопке

Теперь сохраните сцену и дважды щелкните «Scene2» . В этой сцене необходимо скопировать префаб SceneChanger. Для этого просто перенесем его во вкладку иерархии.

Видео:СМЕНА СЦЕН, ЛОКАЦИЙ В UNITY + ЭКРАН ЗАГРУЗКИ || Unity 2D Уроки C# Создание ИгрСкачать

СМЕНА СЦЕН, ЛОКАЦИЙ В UNITY + ЭКРАН ЗАГРУЗКИ || Unity 2D Уроки C# Создание Игр

Создание пользовательского интерфейса

В пользовательском интерфейсе у нас будет текстовый объект с указанием названия сцены и кнопка, которая будет изменять сцену.

Итак, щелкните правой кнопкой мыши на вкладке Hierarchy и выберите UI> Panel . 

Снова щелкните правой кнопкой мыши на вкладке Hierarchy и выберите UI> Text . 

Еще раз щелкните правой кнопкой мыши на вкладке Hierarchy и выберите UI> Button . 

Ваш конечный результат должен выглядеть примерно так

Переход между сценами в Unity по кнопке

Изменим текст на «THIS IS SCENE 1» и текст в кнопке на «CHANGE SCENE». Результат выглядит следующим образом:

Переход между сценами в Unity по кнопке

Далее необходимо выбрать объект Button в Иерархии. На вкладке инспектора нажмем значок «плюс» в компоненте «Button».

Переход между сценами в Unity по кнопке

Появится следующее:

Переход между сценами в Unity по кнопке

Перетащим объект SceneChanger из иерархии в ссылку на объект (выделено красным цветом)

Переход между сценами в Unity по кнопке

Теперь нужно выбрать функцию (выделено красным). В раскрывающемся списке выберите SceneChanger> ChangeScene (string).

Переход между сценами в Unity по кнопке

Теперь вы увидите пустое место под раскрывающимся списком функций. Введите в нем «Scene2». Здесь мы выбрали объект SceneChanger и получили доступ к функции ChangeScene (). «Scene2» является входом. Теперь при каждом нажатии кнопки вызывается функция ChangeScene (), и сцена меняется на «Scene2» .

Cделайте то же самое для «Scene2», но введите «Scene1» в качестве входа и измените текст в Scene2 соответствующим образом.

Сейчас нужно добавить сцены в Build Settings в File menu . Это необходимо, так как без этого Unity не распознает cцены, и между ними не произойдет никакого перехода.

Нажмите на кнопку воспроизведения. Нажатие на кнопку в сцене приведет к переходу к другой сцене.

🌟 Видео

Как сделать кнопку перехода между сценами в UnityСкачать

Как сделать кнопку перехода между сценами в Unity

Загрузочный экран и смена сцен в Unity 3DСкачать

Загрузочный экран и смена сцен в Unity 3D

Уроки по Unity #09 Unity3D Перемещение между сценами!Скачать

Уроки по Unity #09 Unity3D  Перемещение между сценами!

Как сделать переходы между сценами в UnityСкачать

Как сделать переходы между сценами в Unity

Как сделать МЕНЮ в Unity? | Scene Management, UI, TutorialСкачать

Как сделать МЕНЮ в Unity? | Scene Management, UI, Tutorial

Scene Management в Unity | ПЕРЕХОД между СЦЕНАМИСкачать

Scene Management в Unity | ПЕРЕХОД между СЦЕНАМИ

Начальное меню для игры в UnityСкачать

Начальное меню для игры в Unity

КАК СДЕЛАТЬ МЕНЮ В UNITY / ЛЁГКИЙ И ПОНЯТНЫЙ ВИДЕОУРОК UI ЭЛЕМЕНТЫ И SCENE MANAGEMENTСкачать

КАК СДЕЛАТЬ МЕНЮ В UNITY / ЛЁГКИЙ И ПОНЯТНЫЙ ВИДЕОУРОК UI ЭЛЕМЕНТЫ И SCENE MANAGEMENT

Решаем проблему загрузки сцены в Unity. Теперь ты будешь делать правильноСкачать

Решаем проблему загрузки сцены в Unity. Теперь ты будешь делать правильно

Как сделать переход между сценами в unity 2dСкачать

Как сделать переход между сценами в unity 2d

Пауза, рестарт и управление сценами в UnityСкачать

Пауза, рестарт и управление сценами в Unity

Как сделать переход в другую сцену по триггеру | Unity 3DСкачать

Как сделать переход в другую сцену по триггеру | Unity 3D

Unity Tutorial - Переход между СценамиСкачать

Unity Tutorial  - Переход между Сценами

Как разработать игру "викторина-отгадайка" на Unity.(переход между сценами при нажатии кнопки).Скачать

Как разработать игру "викторина-отгадайка" на Unity.(переход между сценами при нажатии кнопки).

Как сделать переходы между сценами и уровнями в UnityСкачать

Как сделать переходы между сценами и уровнями в Unity

Переход между уровнями в Unity 5 с помощью триггераСкачать

Переход между уровнями в Unity 5 с помощью триггера

Unity3D - Создание меню. Переход между сценами и сохранение текстовой информации при переходе.Скачать

Unity3D - Создание меню. Переход между сценами и сохранение текстовой информации при переходе.

Как сделать игру на Unity Ballance #6 [GameDev] Рестарт сцены, переход на следующую сценуСкачать

Как сделать игру на Unity Ballance #6 [GameDev] Рестарт сцены, переход на следующую сцену
Поделиться или сохранить к себе:
Технологичная помощь
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных, принимаю Политику конфиденциальности и условия Пользовательского соглашения.

  1. Сергей

    Поправьте ваш код в месте ввода имени сцены — SceneManager.LoadScene (name); на SceneManager.LoadScene (sceneName); , мне это помогло запустить код

    Ответить
    1. Игорь

      Боже спасибо вам огромное
      Час пытался разобраться почему не работает

      Ответить