Данное руководство описывает создание простой игры для Android с использованием Unity 5.
Подготовка сцены
Создайте сцену Play, дублировав сцену Main (Ctrl+D на Windows, Cmd+D на macOS) и переименовав её. Добавьте обе сцены (Main и Play) в настройки сборки (Build Settings, Cmd+Shift+B или Ctrl+Shift+B), на вкладку «Scenes in Build». Запуск игры покажет кубик, но он будет «приседать», поскольку сцена Play является дубликатом Main.
Модификация сцены Play
Удалите из сцены Play объекты Buttons, Canvas и Event System. Оставьте Main Camera, Main Cube и Directional Light. Переименуйте Main Cube в MainCube. Измените его позицию (Y) и обнулите вращение. Удалите объект Cube FL, так как перемещение куба не потребуется. Directional Light оставьте без изменений.
Создание кубиков-блоков
Создайте четыре куба (3D Object > Cube), размером 1.2 x 1.2 x 1.2. Переименуйте их в ColorBlock. Расположите их вокруг MainCube (примерные координаты: X=-1, Y=-0.5). Добавьте к каждому ColorBlock материал для изменения цвета. Создайте Prefab из ColorBlock, перетащив его в папку Assets/Prefabs.
Добавление интерфейса (Canvas)
Добавьте Canvas, переименуйте его в Score. Установите следующие параметры Rect Transform:
- Anchor Min: (0.5, 0.5)
- Anchor Max: (0.5, 0.5)
- Pivot: (0.5, 0.5)
- Position: (27, 85)
- Size Delta: (733, 934)
Добавьте текстовое поле к Canvas, настройте шрифт, выравнивание (по центру), установите Best Fit и максимальный размер шрифта 100.
Скрипты
Код скриптов доступен по ссылкам в описании.
RentCall
Этот скрипт присваивает случайный цвет каждому кубику при запуске игры. Он содержит функции для присвоения случайного цвета главному кубику и остальным кубикам (с небольшим изменением цвета относительно главного). Переменная isMain определяет, является ли кубик главным, а isRight – совпадает ли его цвет с цветом главного кубика. Добавьте скрипт к MainCube и установите флажок isMain.
WrOne
Этот скрипт обрабатывает нажатие на кубики, сравнивая цвет нажатого кубика с цветом главного кубика. При совпадении цветов игра переходит к следующему этапу; в противном случае – игрок проигрывает. Добавьте этот скрипт к каждому ColorBlock.
GameController
Этот скрипт управляет игрой. Он содержит:
- Переменные: next (успешное завершение этапа), count (счётчик правильных ответов), lose (флаг проигрыша).
- Функцию Start: инициализирует игру, создает кубики-блоки со случайными позициями и цветами, присваивая одному из них цвет главного кубика.
- Функцию Update: проверяет нажатие и вызывает функции PlayerLose или NextColors.
- Функцию PlayerLose: выводит сообщение о проигрыше (реализация в следующих руководствах).
- Функцию NextColors: увеличивает счёт, генерирует новые цвета для кубиков, увеличивая сложность с ростом счёта.
Добавьте этот скрипт к главному кубику. Укажите позиции для Prefab’ов ColorBlock в инспекторе.
Запуск игры и повышение сложности
Запустите игру. Сложность будет расти по мере прохождения, так как разница в цвете между кубиками будет уменьшаться.
В этом руководстве мы создали простую игру для Android. В следующих руководствах будет реализовано отображение экрана проигрыша и другие улучшения.