Menu
CoddyTech

Повторение: выбор уровня

Часть раздела Создание настоящих игр путешествия по Unity на Coddy. Урок 21 из 56.

challenge icon

Задание

Легко

Экран выбора уровня. В сборке перечислены 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()
    {
        // каждая кнопка открывает свой уровень; на заблокированные уровни нельзя нажать
    }
}

Все уроки раздела Создание настоящих игр