Блог онлайн школы Пиксель

Как сделать Flappy Bird на Unity (Юнити)

Привет, друзья! Школа программирования для детей PIXEL подготовила новый урок о том, как сделать простую 2D-игру на Юнити. В этом уроке по Unity мы создадим мини-проект FlappyBird. В процессе мы разберем механизм создания такой игры и напишем небольшой скрипт.

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

Нам понадобятся три спрайта, спрайт персонажа, спрайт башни (препятствие), фон. Вы можете воспользоваться нашими материалами.

Перемещаем фон на сцену и масштабируем. Далее добавляем персонажа, на него — коллайдер и RigidBody. Добавляем башню, масштабируем ее и добавляем коллайдер. Дублируем башню один раз с помощью клавиш CTRL+ D и в инспекторе в поле Rotation по Z пишем 180. Перемещаем башню вверх. Теперь создаем пустой объект и на него в иерархии перемещаем две башни, чтобы они стали дочерними. Называем главный объект башни Block. Теперь можем дублировать блок и расставить их по сцене.

flappy bird unity

Создаем скрипт.

Создаем функцию и в ней прикладываем силу по Х (значение можно увеличить после тестов), что задает движение вперед. И прикладываем силу вверх.

как сделать игру на юнити 2д

В Update пишем условие: если нажата левая кнопка мыши, то вызываем функцию Jump.

как сделать игру на юнити

Далее пишем метод OnTriggerEnter2D, отлавливаем соприкосновение коллайдеров. Если было соприкосновение с тегом Enemy, то перезагружаем сцену.

как сделать игру на unity

Переходим в Юнити, перемещаем скрипт на персонажа.

Теперь осталось добавить тег. В инспекторе нажимаем на поле тег, далее Add Tag, нажимаем на плюс, вводим Enemy, сохраняем. Назначаем тег башням.

как сделать 2d игру на unity

Простой скрипт Flappy Bird на Unity 2D готов!

Полный код программы:


using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class PlayerController : MonoBehaviour
{
    void Update()
{
if (Input.GetMouseButtonDown(0))
{
Jump();
}
}

void Jump()
{
        GetComponent<Rigidbody2D>().velocity = new Vector2(1.5f, 0f);
        GetComponent<Rigidbody2D>().AddForce(Vector2.up * 200);
}

void OnTriggerEnter2D(Collider2D col) 
{
        if (col.tag == "Enemy")
        {
            SceneManager.LoadScene("SampleScene");
        }

    }
}

Если вы хотите научиться создавать более сложные игры, приходите в школу PIXEL на полный курс по Unity 3D для детей и подростков. Мы приглашаем ребят от 10 лет научиться программировать игры, писать скрипты, моделировать объекты, создавать анимацию и многое др. Присоединяйтесь, чтобы учиться под руководством опытных наставников и уже сейчас приблизиться к профессиональной Unity-разработке.

Бесплатные видеоуроки Unity для детей