Мобильная игровая индустрия приносит доходы, сопоставимые с прибылью от продажи видеоигр на ПК и консоли. Гейминг на телефонах признан кампаниями, выпускающими ААА проекты (высокобюджетные игры). Именно поэтому на мобильной платформе появляются порты консольных и компьютерных видеоигр. Кроме того, маленькие независимые студии регулярно пытаются получить популярность среди обладателей смартфонов и планшетов. Зарабатывать на создании приложений намного легче, поскольку трудозатраты и расходы на создание проекта меньше, чем на ПК. При этом при успехе разработчик получает солидную прибыль, сопоставимую с игроделами.
Методы создания
Преимущество Android платформы заключается в широких возможностях. Делать проекты на Андроид смартфоны могут, как малые независимые студии, так и крупные кампании.
Для рядовых или начинающих разработчиков существует три типа инструментов для создания игры на Андроиде:
- Онлайн сервисы позволяют заниматься разработкой прямо в браузере. Предлагают пользователям готовые и рабочие шаблоны для работы с разнообразными игровыми жанрами. Требуют минимального количества навыков в программировании.
- Программы обладают более подробным функционалам. Аналогично с онлайн сервисами предлагают набор готовых шаблонов и скриптов. Требуют определенных знаний в программировании, поскольку понадобится писать код для каждого действия.
- Среда разработки – сложный инструмент, требующий навыков в программировании. Здесь необходимо знать конкурентный язык программирования, на котором будет писаться игра. Без специальных курсов и знаний написать игры, например, на языке Java невозможно. Для самоучек придуманы специализированные форумы. Наиболее популярный – GeekBrains.
Идея и сценарий
Если начинающий автор думает, что идея и сценарий – это атрибуты только крупных ААА проектов, то он глубоко заблуждается. Рассмотрим утверждение на примере Subway Surfer:
- Сюжет: парень, рисовавший на поезде был замечен полицейским и теперь пытается убежать от него.
- Цель: убежать от полицейского.
Чтобы сделать игру на Андроид необходимо, чтобы игровой процесс отвечал на вопросы:
- Стороны конфликта: пример Angry Birds – птицы и свиньи.
- Как решается этот конфликт – птицы летят в свиней на рогатке.
- Где разворачиваются основные события?
Пример сценария для ранера на Android: главный герой – белка, которая готовится к зимней спячке. Ее задача, насобирать, как можно больше припасов на зиму. В качестве преград выступают деревья и другие лесные жители. Разумеется, чем сложнее игра, тем больше вопросов задается для ее создания. Но вопросы «зачем», «почему» и «как» применяются для любого проекта.
Объектная модель и спецификации
Увлекательный геймплей и яркая графика – это не единственные факторы успешного приложения. Немаловажными являются такие пункты, как объектная модель и спецификации. Представленные параметры выполняют две важнейшие функции:
- Справочник основных атрибутов. Данный справочник сможет увидеть любой член команды без проработки всей дизайн-документации или продвинутого поиска (например, по алфавиту).
- Структура взаимодействия характеристик. Представляет собой продвинутую дизайн-документацию, формирующую архитектуру будущей игры.
Пример объектной модели игровой сущности:
- Основной раздел – предметы:
- Специальная классификация – оружие:
- Вид № 1 – меч;
- Вид № 2 – лук.
- Специальная классификация – оружие:
Контент и интерфейс
Контент и интерфейс – это параметры, с которыми игрок познакомится до начала игрового процесса. Интерфейс – командное меню, при помощи которого геймер взаимодействует с окружающей средой. Чтобы создать успешный интерфейс для своей игры необходимо:
- Использовать интуитивно понятные значки (меню настроек – шестеренки).
- Применять минималистские объекты, которые не будут отвлекать от игры.
- Структурировать информацию.
Контент – это аспект, который наполняет видеоигру. Под контентом понимают предметы, которые игрок может получить во время игрового процесса за игровую или реальную валюту. Различают три типа контента:
- Платный контент – это то, что можно купить за реальные деньги (помогает повысить прибыльность).
- Бесплатный контент – дается игроку при выполнении определенных условий. Например, при ежедневном входе в игру.
- Игровой контент – это обмен игровой валюты на различные фишки: улучшения, новые персонажи и т.п.
Очень важно наполнять игру достаточным количеством контента, чтобы у геймера появился стимул проходить игру дальше. Например, в Subway Surfer за золотые монеты можно купить новых персонажей или временные бонусы, которые помогут побить рекорд.
Выбор движка
Игровой движок – это набор инструментов, упрощающих разработку игр. Главное преимущество движка – автоматизация наиболее используемых функций игры. Разумеется, написать игровой движок можно самостоятельно, но этот процесс крайне трудоемкий и затратный по времени. Каждый игровой движок подходит для реализации тех или иных целей.
Каждый движок способен выполнять те или иные задачи и применяется для различных жанров. Рассмотрим на примерах различных движков:
- Mages Engine – ориентирован на мини-игры, многопользовательские ММОРПГ и пошаговые стратегии. Реализация проектов осуществляется при помощи GUI и мощного API.
- Catcake – специализируется на локальном мультиплеере, где присутствует функция разделения экрана. Поддерживает отображение трехмерных объектов. Подходит для проектов любого жанра.
- Unreal Engine – еще один популярный движок, регулярно используемый Epic Games (создатели Unreal Tournament 2016, Gears of War 3, Fortnite и других). Основное направление – консольные и компьютерные видеоигры. Одна из главных фишек Unreal Engine – качественная графика. Однако и на мобильных платформах уже выпущены успешные приложения: Fortnite и PUBG.
- AndEngine – бесплатный движок, ориентированный на 2D. Обладает открытым исходным кодом. Распространяется свободно. Как и другие популярные платформы использует OpenGL для рендеринга и Box2D для физики.
- Phaser — это фреймворк для разработки HTML5. Базируется на библиотеке PIXI.js. Поддерживает рендеринг в Canvas и WebGL, анимированные спрайты, и т.п.
Исключением из правил являются фирменные движки разработчиков. Например, компания Rockstar (создатели серии GTA Red Dead Redemption) используют собственный движок, находящийся в закрытом доступе.
Процесс создания игры
Если подходить к созданию игры предметно, то можно выделять несколько этапов, которые объединяют этот процесс. Все схемы имеют обобщенный характер, поэтому в некоторых играх могут присутствовать промежуточные этапы.
В качестве конструктора используем Game Maker – это один из лучших инструментов для новичков. В первом примере рассмотрим разработку простой аркады:
- Создаем основной фон – локацию, где будут протекать основные события.
- Делаем главного персонажа: рисуем самостоятельно или загружаем готовый шаблон.
- Проектируем предметы для взаимодействия: монетки, ловушки, враги и т.п.
- Программируем событие, которое случится при взаимодействии с предметом: наступил на ловушку – игра окончена, подобрал монетку – путь продолжается.
Для того чтобы показать различие между игровыми жанрами рассмотрим более сложный пример. Теперь используем конструктор Unity 3D, а игровой жанр меняем на ККИ:
- Первый пункт остается неизменным – создание фона для будущего проекта.
- Место главного персонажа занимают карты, их намного больше, поэтому работа более время затратная.
- Проектируем логические взаимодействия между картами (самый сложный этап).
- Определяем количество игроков.
- Конвертируем игровое меню из трехмерного измерения в двухмерное пространство.
- Определяем условия, при которых матч будет считаться завершенным.
Лучшие конструкторы
Construct 2 и 3
Construct 2 – инструмент, позволяющий делать видеоигры на телефоны без знаний программирования. С его помощью можно создать видеоигру не написав не единой строчки кода. Если думаете, что работать с таким инструментом проигрышный вариант, то посмотрите на приложение Floppy Bird, которое написано на Construct 2.
Существует две версии движка: «обычная», созданная для ознакомительных целей. И бизнес ревизия, обладающая полным набором функций для создания коммерческого продукта.
Construct 3 – улучшенный движок, который планомерно вытесняет Construct 2. Расширение привычных опций и предоставление новых функции – преимущества обновленной версии. Однако в этой ревизии отсутствует бесплатная подписка. Зато имеется обратная совместимость с предыдущей версией утилиты.
Clickteam Fusion
Clickteam Fusion – распространяется в трех вариантах: «бесплатная версия», «обычная вариация», и «профессиональная ревизия». Разумеется, что чем разнообразнее функционал версии, тем выше ее цена.
Clickteam Fusion – это мультиплатформенный движок, позволяющий создавать игры для различных платформ, а также заниматься их портированием. Основная специализация – 2D. Однако существует возможность писать и в 3D. Именно на этом движке был написан Five nights at Freddy’s (Пять ночей с Фредди).
Stencyl
Движок Stencyl – это еще один представитель конструкторов, предъявляющие минимальные требования к знаниям программирования. Презентованный движок – мультиплатформенный инструмент, позволяющий писать игры, как на мобильные, так и на старшие платформы. Обладает интерфейсом Drag & Drop.
Интерфейс приложения – его главная фишка, поскольку меню управления имитирует панель Photoshop, что оказывается довольно удобным для геймдизайнинга. На этом движке пишутся приложения таких студий как: ArmorGames, Kongregate, Newground и прочих более мелких кампаний.
Game Maker
GameMaker – движок, специализирующийся на создании двухмерных проектов, которые являются популярными на мобильных платформах. Движок ориентирован на начинающих разработчиков, обладающих базовым набором знаний. Посредством GameMaker разрабатывался Hotline Miami и прочие 2D шедевры. Из очевидных плюсов движка выделяют:
- интеграцию с сервисом Steam;
- удобную и интуитивно понятную рабочую среду;
- наличие собственного упрощенного языка Game Maker Language.
Unity 3D
Unity – наиболее популярный движок среди разработчиков. Представленный движок – самая гибкая система в сегодняшнем списке. Здесь удобно работать с 2D и 3D проектами. На этой платформе разрабатывались видеоигры для различных систем:
- PS 3 – Cuphead, Escape from Tarkov, Life Is Strange: Before the Storm.
- Android и IOs – Angry Birds 2, Hitman Go, Heartstone.
- PC – Pillars of Eternity, Ori and the Blind Forest.
Из плюсов Unity хочется отметить широкий набор платных и бесплатных инструментов: готовые модели, текстуры, рабочие анимации и т.п. Отдельного внимания заслуживают плагины для внутриигровых покупок. В качестве платных дополнений имеются готовые плагины Playmaker, освобождающие пользователей от написания кода.
Теперь наглядно сравним вышеперечисленные конструкторы.
Конструктор | Цена | Преимущества |
---|---|---|
Construct 2 и 3 | Бесплатная/199 $ | Мультиплатформа, оперативность обработки данных, простой внутренний язык. |
Clickteam Fusio | 148 $ | Создание прототипов, минимальные требования к программированию, создание полноценного коммерческого продукта. |
Stencyl | Бесплатно/99 $/199 $ | Интерфейс Drag & Drop, ориентированность на 2D игры, имитация панели управления Photoshop. |
Game Make | Бесплатно | Мультиплатформа, регулярные обновления, активное пользовательское сообщество, простая панель управления. |
Unity 3D | Бесплатная | Мультиплатформа, вариативность игровых настроек, готовые шаблоны для создания игр, популярность среди разработчиков, открытая система |
На самом деле игровых движков огромное количество, поэтому разработчик должен сам выбрать его исходя из следующих критериев:
- наличие мультиплеера;
- собственные познания в программировании;
- сложность проекта: двухмерная или трехмерная игры;
- степень совместимости с другими игровыми платформами;
- финансовые возможности (стоимость платных инструментов).
Онлайн сервис AppsGeyser
AppsGeyser – это сервис, бесплатный конструктор, позволяющий делать видеоигры и приложения с нуля прямо из браузера. Примечательно, что от пользователя не требуется никаких знаний программирования. Достаточно просто зайти на сайт и следовать инструкции.
Разберем создание игры в качестве примера:
- Зайдите на сайт AppsGeyser и нажмите на кнопку «Создать».
- Откроется окно жанров. Выберите наиболее подходящий жанр.
- Далее последует краткое описание выбранного жанра (в нашем случае ранер).
- Следующий шаг – загрузка изображений и анимации. Можно создать их самостоятельно или загрузить шаблон из интернета.
- Создание врагов – еще один шаг. Потребуется указать их число, параметры здоровья и загрузить изображение недруга.
- Теперь перейдем в окно создания фона. Здесь имеются заготовленные шаблоны. Если они не понравятся, то фон можно создать самостоятельно.
- Музыкальное сопровождение – еще один фактор успешной видеоигры. Разработчики утилиты предлагают список музыки, шрифтов, не защищенных авторских правом. Весь контент абсолютно бесплатный.
- Все остальные пункт касаются визуального оформления – иконки, описания, и т.п.
Обратите внимание, что загружать и сохранять проекты можно только после прохождения регистрации в AppsGeyser. Пройдя регистрацию, разработчики смогут публиковать результаты работ в Google Play Market. Однако эта процедура будет стоить 25 долларов за публикацию.
Лучшие приложения
Начинающим игроделам подойдут приложения, разрешающие разрабатывать незамысловатые аркады на смартфоны и планшеты, работающие под управлением ОС Android. Примечательно, что даже в таких простых приложениях имеются плагины для установки рекламы и внутренних покупок. Рассмотрим наиболее интересные приложения для создания игр.
Draw Your Game
Занимательное приложение, предоставляющее возможность написать рисованную видеоигру. Примечательно, что для реализации идеи потребуется выполнить несколько простых действий:
- Нарисовать уровень при помощи четырех цветов.
- Открыть утилиту на смартфоне и сфотографировать изображение.
- Подождать, пока программа обработает информацию.
- Выбрать персонажа, который пробежится по созданным локациям.
- Готово! При желании «шедевром» можно поделиться с друзьями.
Геймплей, созданный при помощи Draw Your Game, представляет аркаду, где герою необходимо найти выход из комнаты. При этом все нарисованные объекты будут динамичными и доступными для взаимодействия.
Apper
Apper – это небольшая программа для создания приложений. Позволяет в несколько шагов создать удобный софт для мобильного телефона или планшета. Представленный проект отличается интуитивно понятным интерфейсом и относительно гибкой системой настроек.
AIDE- IDE for Android Java C++
Предоставляет пользователям интегрированную среду разработки, с помощью которой открывается возможность делать приложения для Андроид платформы прямо из смартфона. Для ознакомления с утилитой AIDE- IDE for Android Java C++ потребуются азы программирования или просмотр видео уроков.
Createrria 2 craft your games
Конструктор видеоигр внутри аркады. Создатели предлагают интересный инструмент, с помощью которого каждый желающий сможет делать игры за несколько минут. Полученным результатом можно будет поделиться с друзьями. Основные особенности Createrria 2 craft your games:
- Ключевая фишка – возможность рисовать уровни самостоятельно.
- Пять встроенных тем для реализации идей.
- Вариативная механика при создании.
- Колоритное пиксельное оформление.
- Официальные сообщества в соц. сетях.
Sketch Nation Create
Sketch Nation Create – это полноценная платформа для начинающих игроделов. Главная фишка проекта заключается в ориентированности на многопользовательские видеоигры. При помощи утилиты пользователи смогут делать небольшие онлайн проекты в режиме реального времени. Презентованная утилита имеет широкий инструментарий, позволяющий делать игрушки различной сложности.
Пример создания игры
В качестве примера рассмотрим гоночный симулятор в современной обработке. Обратите внимание, что этот пример создан для начинающих разработчиков. Для разработки игры используется Unity.
Геймплей
Геймплей построен на том, чтобы преодолеть на машине максимально возможную дистанцию. Функцию «преград» выполняют динамические препятствия, появляющиеся на дороге. Если врезаться в одну из преград, то игра закончится. Для усложнения геймплея вводим запас топлива, который расходуется при заезде. Чтобы пополнить бензобак требуется собирать баки с бензином.
Начало разработки
«Гоночный тетрис» состоит из двух простых сцен: главное меню и окно геймплея. Первым делом займемся меню. Для него необходимо использовать элемент управления GUI – стандартный инструмент платформы.
Для фона используем спрайт под названием «background». В примере применяется серый цвет. При желании цветовая палитра изменяется.
Второй шаг – создание скрипта «menu.cs». Путь команды: Правой кнопкой мыши на строке скрипта – «Create» – «C# Script». Не забудьте повесить его на «background». Содержимое скрипта выглядит следующим образом:
using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization.Formatters.Binary; using System.IO; public class menu : MonoBehaviour { public GUIStyle mystyle; //объявляется для того чтобы изменять начертание GUI компонентов(шрифт, размер и.т.п.) string score; //переменная для хранения пройденной дистанции void Start () { StreamReader scoredata = new StreamReader (Application.persistentDataPath + "/score.gd"); //создание файловой переменной score = scoredata.ReadLine (); //чтение строки scoredata.Close (); //закрытие файловой переменной } void Update () { } void OnGUI(){ GUI.Box (new Rect (Screen.width*0.15f, Screen.height*0.8f, Screen.width*0.7f, Screen.height*0.1f), "MAX DISTANCE:"+score,mystyle); //создаем небольшое окошко для показа пройденного расстояния if (GUI.Button (new Rect (Screen.width*0.15f, Screen.height*0.25f, Screen.width*0.7f, Screen.height*0.1f), "Start game",mystyle)) //создаем кнопку для запуска игровой сцены { Application.LoadLevel(1);//Загрузка игровой сцены } if (GUI.Button (new Rect (Screen.width*0.15f, Screen.height*0.4f, Screen.width*0.7f, Screen.height*0.1f), "Exit",mystyle)) //создаем кнопку для выхода из игры { Application.Quit();//Выход из игры } } }
В конечном итоге на экране должно получить примерное такое окно:
Не забывайте, что в программе имеется функция редактирования текстовых элементов при помощи MyStyle.
Игровое окно
Перед началом работы необходимо определить ключевые элементы, которые расположены на этом рисунке.
В их число входят:
- автомобиль;
- бензобак;
- дорога.
Рассмотрим создание каждого элемента в отдельности.
Дорога
Представленная игра – бесконечная гонка, поэтому с технической точки зрения трасса, является движущейся. Принимая тот факт, что геймер имеет возможность перемещаться только влево или вправо, именно дорога создаст иллюзию движения.
Приступим:
- Загружаем спрайт с трассой на сцену с гейплеем, подгоняя ее по размерам камеры.
- Далее добавляем в качестве дочерних объекта внутри дороги четыре блока с преградами и иконку бензобака.
- Не забудьте прибавить к ним Box Collider 2D. Дополнительно требуется отметить иконку Is Triger, чтобы объекты пересекались с машиной.
- Создайте скрипт под названием «moveroad.cs» и повесьте его на трассу. Далее прописываем код:
using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization.Formatters.Binary; using System.IO; public class moveroad : MonoBehaviour { public GUIStyle mystyle;//создание стиля int f,fuelst; float score=0,speed=-0.2f,data,fuelpos;// переменные для хранения расстояния, скорости и рекорда public GameObject block;// игровой объект для размещения блока public GameObject block1; public GameObject block2; public GameObject block3; public GameObject fuel; bool turbotriger=false; void Start () { StreamReader scoredata = new StreamReader (Application.persistentDataPath + "/score.gd"); data = float.Parse(scoredata.ReadLine ());//чтение с файла информации о рекорде scoredata.Close (); } void Update () { transform.Translate (new Vector3 (0f,speed,0f));//движение дороги с заданной выше скоростью score = score + (speed*-10);// подсчет расстояния if (transform.position.y < -19f) // если дорога уходит за пределы камеры то она "теле портируется" вверх { transform.position=new Vector3(0f,33.4f,0f);//новая позиция дороги block.transform.position=new Vector3(10.15f,block.transform.position.y,block.transform.position.z); block1.transform.position=new Vector3(8.42f,block1.transform.position.y,block1.transform.position.z); block2.transform.position=new Vector3(6.62f,block2.transform.position.y,block2.transform.position.z); block3.transform.position=new Vector3(4.95f,block3.transform.position.y,block3.transform.position.z); fuel.transform.position=new Vector3(11.86f,fuel.transform.position.y,fuel.transform.position.z); //скрытие за пределы камеры всех препятствий(блоков) f = Random.Range (0, 5);//случайное появление на дороге 1-го из 4-х блоков или канистры с бензином switch (f) { case 0:block.transform.position=new Vector3(2.40f,block.transform.position.y,block.transform.position.z); break; case 1:block1.transform.position=new Vector3(0.90f,block1.transform.position.y,block1.transform.position.z); break; case 2:block2.transform.position=new Vector3(-0.80f,block2.transform.position.y,block2.transform.position.z); break; case 3:block3.transform.position=new Vector3(-2.35f,block3.transform.position.y,block3.transform.position.z); break; case 4: fuelst=Random.Range(0,4); if(fuelst==0){fuelpos=2.40f;} if(fuelst==1){fuelpos=0.90f;} if(fuelst==2){fuelpos=-0.80f;} if(fuelst==3){fuelpos=-2.35f;} fuel.transform.position=new Vector3(fuelpos,fuel.transform.position.y,fuel.transform.position.z); break; } if (score>data)// если текущее пройденное расстояние превышает то что записано в файле рекорда то идет обновление данных { StreamWriter scoredata=new StreamWriter(Application.persistentDataPath + "/score.gd");//создаем файловую переменную для хранения пройденного расстояния scoredata.WriteLine(score);//записываем новое значение в файл scoredata.Close();//закрываем файловую переменную } } } void OnGUI(){ GUI.Box (new Rect (0, 0, Screen.width, Screen.height*0.05f), "Distance(m): " + score,mystyle);//создаем окно для подсчета расстояния } }
В конечно итоге должна получиться движущиеся дорога, которая будет автоматически продлеваться после достижения «контрольной точки». По сути, получается бесконечная трасса. Однако без изменений разработчик получит проблему, когда после прохода «точки» останется пустое пространство. Чтобы исправить эту ситуацию требуется создать копию готовой трассы и немного отредактировать скрипт.
Иными словами, необходимо создать две одинаковые дороги. Это действие должно исправить проблему с разрывами.
Автомобиль
Киньте спрайт машины на сцену.
Установите авто в любое место на трассе. Создайте скрипт carcontroller.cs и повести его на машину. Ниже находится содержимое скрипта:
using UnityEngine; using System.Collections; using UnityStandardAssets.CrossPlatformInput; public class carconroller : MonoBehaviour { void Start () { } public void Update () { if (transform.rotation.z !=0) //проверка столкновения коллайдера автомобиля и препятствия, при столкновении происходит загрузка меню { Application.LoadLevel (0); } } } public void OnGUI() { if (GUI.RepeatButton (new Rect (Screen.width*0.1f, Screen.height*0.9f, Screen.width*0.2f, Screen.height*0.08f), "L")) //создаем кнопку для движения влево { if (transform.position.x > -2.4f) { transform.Translate (new Vector3 (-0.05f, 0f, 0f)); } } if (GUI.RepeatButton (new Rect (Screen.width*0.7f, Screen.height*0.9f, Screen.width*0.2f, Screen.height*0.08f), "R")) //создаем кнопку для движения вправо { if (transform.position.x < 2.4f) { transform.Translate (new Vector3 (0.05f, 0f, 0f)); } } } }
Посредством скрипта автомобиль получит возможность перемещаться.
Бензобак
Для создания показателя наполненности бензобака необходимо использовать одинаковые спрайты разных цветов.
Сделайте зеленый спрайт дочерним. Следующий аналогичен с предыдущими пунктами: создать скрипт (fuelscript.cs) и повесить его на бензобак (fuel) с таким содержанием:
using UnityEngine; using System.Collections; public class fuelscript : MonoBehaviour { public GameObject fuelall; float mytimer=100f;// задание плавающего числа // Use this for initialization void Start () { } void Update () { mytimer = 100f; mytimer -= Time.deltaTime;//изменения числа с течением времени if (mytimer/mytimer==1f) //проверка на период времени в 1 секунду { fuelall.transform.position=new Vector3(fuelall.transform.position.x-0.0011f,fuelall.transform.position.y,fuelall.transform.position.z); fuelall.transform.localScale = new Vector3(fuelall.transform.localScale.x-0.001f, 1, 1); //выше идет сдвижение влево и уменьшение по ширине зеленой полосы для имитации шкалы } if (fuelall.transform.localScale.x < 0) //если шкала исчезла то загрузка идет загрузка главного меню { Application.LoadLevel(0); } } }
Трасса в нашем меню называется road183, а ее копия – road183(1). В дочерний объект fueltrack добавьте скрипт, отвечающий за восполнение бензобака при его контакте с автомобилем. Следующим шагом будет создание скрипта triger.cs. Повесьте его на fueltrack в каждой трассе. И отметьте объект, как Is Triger с таким кодом:
using UnityEngine; using System.Collections; public class triger : MonoBehaviour { public GameObject fuel;//добавляем сюда greenfuel // Use this for initialization void Start () { } // Update is called once per frame void Update () { } void OnTriggerEnter2D(Collider2D col) { if (col.gameObject.name == "playercar") //проверка пересечения автомобиля и объекта fuel { fuel.transform.position=new Vector3(0,fuel.transform.position.y,fuel.transform.position.z); fuel.transform.localScale = new Vector3(1, 1, 1); //восстановление у объекта fuel стандартных значений } } }
Итоговый результат – незамысловатая аркадная гонка, которую можно причислять к «убийцам времени» на Android.