Повторение: выбор уровня
Часть раздела Создание настоящих игр путешествия по Unity на Coddy. Урок 21 из 56.
Задание
ЛегкоЭкран выбора уровня. В сборке перечислены Menu (индекс 0), Level1, Level2 и Level3. В Menu есть три кнопки, которые Inspector помещает в levelButtons скрипта LevelSelect, и объект Progress. На каждом уровне стрелки перемещают Player к золотой Goal, скрипт которой (уже готов) вызывает Progress.Instance.LevelDone(level) с индексом уровня в сборке.
Progress.cs:
- Прогресс сохраняется на протяжении всей игры, и объект всегда только один. К нему обращаются как к
Progress.Instance, хотя Menu создаёт новый объект при каждой загрузке. unlocked— максимальный уровень, который игрок может пройти (в начале это 1).LevelDone(int level)открывает следующий уровень, никогда не закрывает уже открытый и возвращает в Menu.
LevelSelect.cs: в Start добавь каждой кнопке слушатель, который загружает соответствующий уровень (первая кнопка — Level1 и так далее), и сделай кнопку активной для нажатия, только если её уровень открыт.
Нажми Play, пройди уровни по порядку и снова пройди Level 1, затем нажми Check.
Попробуйте сами
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class LevelSelect : MonoBehaviour
{
public Button[] levelButtons;
void Start()
{
// каждая кнопка открывает свой уровень; на заблокированные уровни нельзя нажать
}
}
Все уроки раздела Создание настоящих игр
1Текст на экране
Холст и текстПокажем счётФорматирование чиселТаймер обратного отсчётаПовторение: спидометр4Сцены и уровни
Загрузить сценуПерезапустить уровеньСледующий уровеньСохранить между сценамиПовторение: выбор уровня7Управление временем
Пауза с timeScaleЗамедленное движениеНемасштабируемое времяПовторение: Bullet Time10Проект: 3D-платформер
ТрассаДвижущиеся платформы2Кнопки и экраны
Кнопки и onClickЛямбдыСвязи в InspectorВключение и выключение панелейШкалы здоровьяПовторение: магазин улучшений5Сохранение с помощью PlayerPrefs
Сохранение числаЗагрузка со значением по умолчаниюРекордСохранение настроекПовторение: монеты в банке