Создайте свою первую основную игру для Android всего за 7 минут (с Unity)

Автор: Lewis Jackson
Дата создания: 11 Май 2021
Дата обновления: 1 Июль 2024
Anonim
Создание Андроид игры на Unity 5 за 45 минут!
Видео: Создание Андроид игры на Unity 5 за 45 минут!

Содержание


Создание полностью работающей игры для Android намного проще, чем вы думаете. Ключ к успешной разработке Android - или любой другой разработке - это знать, чего вы хотите достичь, и найти необходимые инструменты и навыки для этого. Пройдите по пути наименьшего сопротивления и имейте ясную цель.

Когда дело доходит до создания игр, лучшим инструментом, на мой взгляд, является Unity. Да, вы можете сделать игру в Android Studio, но если у вас нет опыта работы с Java и Android SDK, это будет нелегкая борьба. Вы должны понимать, что делают классы. Вам нужно будет использовать собственные представления. Вы будете полагаться на некоторые дополнительные библиотеки. Список можно продолжить.

Unity - это высокопрофессиональный инструмент, который работает с большинством самых продаваемых игр в Play Store.

Unity, с другой стороны, делает большую часть работы за вас. Это игровой движок, означающий, что вся физика и многие другие функции, которые вы, возможно, захотите использовать, уже позаботились. Он кроссплатформенный и предназначен для начинающих любителей и независимых разработчиков.


В то же время Unity - это высокопрофессиональный инструмент, который работает с большинством самых продаваемых игр в Play Store. Здесь нет никаких ограничений и нет веских оснований для того, чтобы усложнить себе жизнь. Это тоже бесплатно!

Чтобы продемонстрировать, насколько проста разработка игр с Unity, я покажу вам, как сделать свою первую игру для Android всего за 7 минут.

Нет - я не собираюсь объяснять как это сделать за 7 минут. Я собираюсь сделай это через 7 минут. Если вы тоже будете следовать, вы сможете сделать то же самое!

отказПрежде чем мы начнем, я просто хочу отметить, что я немного изменяю. Хотя процесс создания игры займет 7 минут, это предполагает, что вы уже установили Unity и все настроили. Но я не оставлю вас в покое: вы можете найти полный учебник о том, как это сделать на.

Добавление спрайтов и физики

Начните с двойного щелчка на Unity, чтобы запустить его. Даже самое длинное путешествие начинается с одного шага.


Теперь создайте новый проект и убедитесь, что вы выбрали «2D». Когда вы войдете, вас встретят в нескольких разных окнах. Они делают вещи. У нас нет времени объяснять, так что просто следуйте моим указаниям, и вы поймете это по ходу дела.

Первое, что вы хотите сделать, - это создать спрайт, который будет вашим персонажем. Самый простой способ сделать это - нарисовать квадрат. Мы собираемся дать ему пару глаз. Если вы хотите быть еще быстрее, вы можете просто взять понравившийся спрайт откуда-нибудь.

Сохраните этот спрайт, а затем просто перетащите его в «сцену», поместив его в самое большое окно. Вы заметите, что он также появляется слева в «иерархии».

Теперь мы хотим создать несколько платформ. Опять же, мы собираемся обойтись с простым квадратом, и мы сможем изменить размеры этой руки, чтобы сделать стены, платформы и что у вас есть.

Там мы идем, красавица. Брось это так же, как ты только что сделал.

У нас уже есть нечто, похожее на «игру». Нажмите кнопку воспроизведения, и вы должны увидеть статическую сцену на данный момент.

Мы можем изменить это, щелкнув по нашему спрайту игрока и посмотрев вправо к окну, называемому «инспектор». Здесь мы меняем свойства для наших GameObjects.

Выберите «Добавить компонент», а затем «Физика 2D> RigidBody2D». Вы только что добавили физику своему игроку! Это было бы невероятно трудно сделать нам самостоятельно, и это действительно подчеркивает полезность Unity.

Мы также хотим исправить нашу ориентацию, чтобы персонаж не вращался и не вращался вокруг. Найдите «ограничения» в инспекторе с выбранным игроком и поставьте галочку, чтобы заморозить вращение Z. Теперь нажмите play снова, и вы увидите, что ваш игрок теперь падает с неба до его бесконечной гибели.

Найдите минутку, чтобы подумать о том, насколько просто это было: просто применив этот скрипт под названием «RigidBody2D», мы получили полностью функциональную физику. Если бы мы применили один и тот же сценарий к круглой форме, он бы тоже катился и даже подпрыгивал. Представьте, что вы сами это кодируете и как это будет связано!

Чтобы наш персонаж не падал сквозь пол, вам нужно добавить коллайдер. Это в основном сплошной контур фигуры. Чтобы применить это, выберите своего игрока, нажмите «Добавить компонент», и на этот раз выберите «Физика 2D> BoxCollider2D».

Найдите минутку, чтобы подумать о том, насколько просто это было: просто применив этот скрипт под названием «RigidBody2D», мы получили полностью функциональную физику.

Сделайте то же самое с платформой, нажмите кнопку воспроизведения, и тогда ваш персонаж должен упасть на твердую землю. Легко!

Еще одна вещь: чтобы убедиться, что камера следует за нашим плеером, независимо от того, падают они или движутся, мы хотим перетащить объект камеры, находящийся на сцене (он был создан, когда вы запускали новый проект) поверх плеера. Теперь в иерархии (список объектов GameObject слева) вы будете перетаскивать камеру так, чтобы она располагалась под игроком. Камера теперь является «дочерним элементом» объекта Player GameObject, что означает, что когда игрок перемещается, камера тоже перемещается.

Ваш первый сценарий

Мы собираемся сделать базового бесконечного раннера, и это означает, что наш персонаж должен двигаться прямо по экрану, пока не столкнется с препятствием. Для этого нам нужен скрипт. Поэтому щелкните правой кнопкой мыши папку «Ресурсы» внизу и создайте новую папку под названием «Сценарии». Теперь снова щелкните правой кнопкой мыши и выберите «Создать> C # Script». Назовите это «PlayerControls».

По большей части скрипты, которые мы создаем, будут определять специфическое поведение для наших GameObjects.

Теперь дважды щелкните по вашему новому сценарию, и он откроется в Visual Studio, если вы все настроите правильно.

Здесь уже есть некоторый код, который является «кодом котельной плиты». Это означает, что это код, который вам нужно будет использовать почти в каждом скрипте, поэтому он готов для экономии времени. Теперь мы добавим новый объект с этой строкой выше void Start ():

public Rigidbody2D rb;

Затем поместите следующую строку кода в метод Start (), чтобы найти твердое тело. По сути, это говорит Unity, что нужно найти физику, прикрепленную к GameObject, с которой будет связан этот скрипт (конечно, наш игрок). Start () - это метод, который выполняется, как только создается новый объект или сценарий. Найдите физический объект:

rb = GetComponent();

Добавьте это внутри Update ():

rb.velocity = new Vector2 (3, rb.velocity.y);

Update () обновляется многократно, поэтому любой код здесь будет выполняться снова и снова, пока объект не будет уничтожен. Все это говорит о том, что мы хотим, чтобы у нашего твердого тела был новый вектор с такой же скоростью на оси у (rb.velocity.y), но со скоростью «3» на горизонтальной оси. По мере продвижения вы, вероятно, будете использовать «FixedUpdate ()» в будущем.

Сохраните это и вернитесь в Unity. Щелкните по персонажу игрока, затем в инспекторе выберите «Добавить компонент»> «Сценарии», а затем ваш новый сценарий. Нажмите Play, и бум! Теперь ваш персонаж должен двигаться к краю выступа, как лемминг.

Примечание. Если что-то из этого звучит странно, просто посмотрите видео, чтобы увидеть, как все это делается - это поможет!

Очень простой ввод игрока

Если мы хотим добавить функцию перехода, мы можем сделать это очень просто с помощью всего лишь одного дополнительного бита кода:

if (Input.GetMouseButtonDown (0)) {rb.velocity = new Vector2 (rb.velocity.x, 5); }

Это относится к методу Update и говорит, что «если игрок щелкает», то добавьте скорость по оси Y (со значением 5). Когда мы используем if, все, что следует внутри скобок, используется как своего рода проверка на истинность или ложь. Если логика внутри указанных скобок верна, то будет выполняться код в следующих фигурных скобках. В этом случае, если игрок щелкает мышью, скорость добавляется.

Android считывает щелчок левой кнопкой мыши в любом месте экрана! Так что теперь ваша игра имеет базовые элементы управления.

Найти свою опору

Этого достаточно для создания клона Flappy Birds. Добавьте препятствия и узнайте, как уничтожить игрока, когда он коснется их. Добавьте счет в дополнение к этому.

Если вы справитесь, никакие проблемы не будут слишком велики в будущем

Но у нас есть немного больше времени, чтобы мы могли стать более амбициозными и вместо этого создать бесконечную игру типа раннер. Единственное, что не так с тем, что у нас есть в данный момент, это то, что прыжок при прыжке будет прыгать, даже если игрок не касается пола, поэтому он может летать.

Исправить это становится немного сложнее, но это почти так же сложно, как Unity. Если вы справитесь с этим, никакая проблема не будет слишком велика в будущем.

Добавьте следующий код в ваш скрипт над методом Update ():

Публичная трансформация groundCheck; public Transform startPosition; публичный поплавок GroundCheckRadius; public LayerMask whatIsGround; приватный bool onGround;

Добавьте эту строку в метод Update над оператором if:

onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround);

Наконец, измените следующую строку, чтобы она включала && onGround:

if (Input.GetMouseButtonDown (0) && onGround) {

Все это должно выглядеть так:

открытый класс PlayerControls: MonoBehaviour {public Rigidbody2D rb; Публичная трансформация groundCheck; public Transform startPosition; публичный поплавок GroundCheckRadius; public LayerMask whatIsGround; приватный bool onGround; void Start () {rb = GetComponent(); } void Update () {rb.velocity = new Vector2 (3, rb.velocity.y); onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); if (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = new Vector2 (rb.velocity.x, 5); }}}

Здесь мы создаем новое преобразование - положение в пространстве - затем мы устанавливаем его радиус и спрашиваем, перекрывает ли он слой, называемый землей. Затем мы меняем значение логического значения (которое может быть истинным или ложным) в зависимости от того, так ли это.

Таким образом, onGround имеет значение true, если преобразование с именем groundCheck перекрывает слой земли.

Если вы нажмете «Сохранить», а затем вернетесь в Unity, вы должны увидеть, что у вас есть больше вариантов, доступных в инспекторе, когда вы выбираете игрока. Эти открытые переменные можно увидеть внутри самого Unity, и это означает, что мы можем устанавливать их так, как нам нравится.

Щелкните правой кнопкой мыши в иерархии слева, чтобы создать новый пустой объект, а затем перетащите его так, чтобы он находился под проигрывателем в окне сцены, где вы хотите обнаружить этаж. Переименуйте объект «Check Ground» и сделайте его потомком игрока, как вы делали это с камерой. Теперь он должен следовать за игроком, проверяя пол внизу, как это происходит.

Снова выберите игрока и в инспекторе перетащите новый объект Check Ground в пространство, где написано «GroundCheck». «Трансформация» (позиция) теперь будет равна позиции нового объекта. Пока вы здесь, введите 0.1, где написано радиус.

Наконец, нам нужно определить наш «наземный» слой. Чтобы сделать это, выберите ландшафт, который вы создали ранее, затем вверху справа в инспекторе, найдите, где написано «Слой: По умолчанию». Нажмите этот выпадающий список и выберите «Добавить слой».

Теперь нажмите назад и на этот раз выберите «Ground» в качестве слоя для вашей платформы (повторите это для всех других платформ, которые вы используете). Наконец, там, где на вашем плеере написано «Что такое земля», выберите слой земли.

Теперь вы говорите своему сценарию проигрывателя проверить, перекрывает ли маленькая точка на экране что-либо, совпадающее с этим слоем. Благодаря той строке, которую мы добавили ранее, персонаж теперь будет прыгать только тогда, когда это так.

И с этим, если вы нажмете на игру, вы можете наслаждаться довольно простой игрой, требующей от вас щелчка, чтобы прыгать в нужное время.

При этом, если вы нажмете «играть», вы сможете насладиться довольно простой игрой, требующей, чтобы вы нажимали, чтобы прыгать в нужное время. Если вы правильно настроили свой Unity с помощью Android SDK, вы сможете собрать и запустить его, а затем играть на своем смартфоне, нажимая на экран, чтобы прыгать.

Дорога впереди

Очевидно, есть еще много чего добавить, чтобы сделать это полноценной игрой. Игрок должен уметь умирать и возрождаться. Мы бы хотели добавить дополнительные уровни и многое другое.

Моя цель состояла в том, чтобы показать вам, как быстро вы можете получить что-то базовое и запустить. Следуя этим инструкциям, вы должны были в кратчайшие сроки создать своего бесконечного раннера, просто позволив Unity справиться с такими сложными задачами, как физика.

Если вы знаете, что вы хотите создать и проводите исследования, вам не нужно быть мастером программирования, чтобы создать достойную игру!

Сегодня Amazon анонсировала обновленные планшеты Fire 7 и Fire 7 Kid Edition, которые теперь доступны для предварительного заказа.Начиная с Fire 7, планшет оснащен более быстрым процессором, чем его п...

Похоже, что Google запускает бесплатный Google Home Mini со своими покупками каждую вторую неделю. Теперь гигант Mountain View делится любовью с подписчиками Google One, предлагая бесплатный умный дин...

Увлекательные статьи