Создание Android игры в Unity 5: пошаговое руководство

Данное руководство описывает создание простой игры для 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. В следующих руководствах будет реализовано отображение экрана проигрыша и другие улучшения.

Что будем искать? Например,программа