Unity 2d Как создать кликер

2dlogokliker Уроки

Простой кликер-платформер на движке Unity

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

Итак, на основе этих статей:

Unity 5. 2d Анимация

Unity 2d. Движение персонажа

и использования готовых 2d спрайтов из этой статьи

Unity 2d. Спрайты для 2d игр

Мы уже подготовили готовую сцену с работоспособным персонажемpers2d

Ну если разобрать более детально, то :

    • на игровой объект (GameObject) помещаем компонент Sprite Renderer, где в поле Sprite помещаем нужный нам спрайт (изображение)
    • добавляем компоненты Collider 2d, Box или Circle в зависимости от строения изображения, можно несколько
    •  компонент Rigidbody 2D обязательно, так как он будет отвечать за движение персонажа
    • компонент Animator с нужной нам анимацией
    • ну и несколько скриптов, первый скрипт отвечает за перемещение персонажа по сцена
    •     public float WalkSpeed = 2;
         
          private MoveState _moveState = MoveState.Idle;
          private DirectionState _directionalState = DirectionState.Right;
          private Transform _transform;
          private Rigidbody2D _rigidbody;
          private Animator _animatorController;
          private float _walkTime = 0, _walkCooldown = 0.2f;
      
          private void Start()
          {
              _transform = GetComponent();
              _rigidbody = GetComponent();
              _animatorController = GetComponent();
              _directionalState = transform.localScale.x > 0 ? DirectionState.Right : DirectionState.Left;
      
      

      Видео:КАК СОЗДАТЬ КЛИКЕР НА UNITY??? ПОДРОБНЫЙ ГАЙД ДЛЯ НОВИЧКОВ! unity уроки разработка игрСкачать

      КАК СОЗДАТЬ КЛИКЕР НА UNITY??? ПОДРОБНЫЙ ГАЙД ДЛЯ НОВИЧКОВ! unity уроки разработка игр
      } public void MoveRight() { _moveState = MoveState.Walk; if (_directionalState == DirectionState.Left) { transform.localScale = new Vector3(-_transform.localScale.x, _transform.localScale.y, _transform.localScale.z); _directionalState = DirectionState.Right; } _walkTime = _walkCooldown; _animatorController.Play("Walk"); } public void MoveLeft() { _moveState = MoveState.Walk; if (_directionalState == DirectionState.Right) { transform.localScale = new Vector3(-_transform.localScale.x, _transform.localScale.y, _transform.localScale.z); _directionalState = DirectionState.Left; } _walkTime = _walkCooldown; _animatorController.Play("Walk"); } private void Update() { if (_moveState == MoveState.Walk) { _rigidbody.velocity = ((_directionalState == DirectionState.Right ? Vector2.right : -Vector2.right) * WalkSpeed * Time.deltaTime); _walkTime -= Time.deltaTime; if (_walkTime <= 0) { Idle(); } } } void Idle() { _moveState = MoveState.Idle; _animatorController.Play("Idle"); } enum MoveState { Idle, Walk, } enum DirectionState { Right, Left }
    • Ну и второй скрипт, который будет отвечать за назначение клавиш управления персонажем
    •  private Player Player;
          
          // Use this for initialization
      	void Start () {
              Player = Player == null ? GetComponent() : Player;
              if (Player == null) {
      
      
              }
      	}
      
      

      Видео:Clicker на Unity | Unity для детей | Unity с нуля | Курс Си Шарп для детей | Игр в Unity ClickerСкачать

      Clicker  на Unity | Unity для детей | Unity с нуля | Курс Си Шарп для детей | Игр в Unity Clicker
      // Update is called once per frame void Update() { if (Player != null) { if (Input.GetKey(KeyCode.D)) { Player.MoveRight(); } if (Input.GetKey(KeyCode.A)) { Player.MoveLeft(); } } } public void WailkRight() { Player.MoveRight(); } public void WalkLeft() { Player.MoveLeft(); }

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

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

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

Разместим на сцене поваленное дерево, которое помешает пройти нашему персонажу и от которого нужно избавится, как вариант — разрубить.

brevno2d

Поместим дерево и топор, который поможет нам пройти. На них поместим объекты Box Collider2d и обработчик  Event Trigger (про это больше упоминать не будем, эти компоненты будут присутствовать на всех последующих игровых объектах )

Видео:Как сделать КЛИКЕР за 8 минут | Unity, C#Скачать

Как сделать КЛИКЕР за 8 минут | Unity, C#

Создадим простой скрипт, где при нажатии мышкой на объект топор он будет как-бы в руке и при нажатии мышкой на дерево мы будем проверять, если топор в руке то удаляем дерево, если нет …. то нет.

public GameObject rukaobject;

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }

    public void OnClick()
    {
        if (this.gameObject.tag == "Topor")
        {
            rukaobject = this.gameObject;

        }

        if (this.gameObject.tag == "DerevoPolom")
        {

            if (rukaobject == GameObject.FindGameObjectWithTag("Topor"))
            {
                Destroy(gameObject);

            }
        }
    }

Теперь вернемся к объектам на сцене (топор и дерево), поместим этот скрипт на них, в компоненте Event Trigger создадим новый тип Pointer Click и укажем эти объекты в этом типе (каждый в своем), так же укажем скрипт и функцию OnClick. Ну и не забудьте присвоить тэги объектам, которые указали в скрипте.

У меня немного доработано, но смысл тот же:

Подходим к дереву, но оно не дает нам пройти, нажимаем на него ничего не происходит

Видео:Я Сделал Кликер на Unity!Скачать

Я Сделал Кликер на Unity!

derevo2d
находи топор, берем его

topor2d

и снова к дереву, дерево исчезает

styk2d

Первая преграда пройдена, далее реализуем столкновение персонажа с игровыми объектами, например, поместим на сцену паука и при столкновении с ним персонажа будет отбрасывать назад.

pauk2d

Создадим еще один скрипт в котором будем использовать функцию обработки столкновений коллайдеров

 private void OnTriggerEnter2D(Collider2D other)
    {

        

            if (other.tag == "Pauk")
            {

                this.gameObject.GetComponent().MovePosition(Vector2.left * 10 * Time.deltaTime);

            }

    }

Соответственно, на паука вешаем Box Collider с галочкой isTrigger и указываем тэг, который указали в скрипте.

Видео:Как создать кликер на Unity | 1 ЧАСТЬСкачать

Как создать кликер на Unity | 1 ЧАСТЬ

pauk2d

На основе функции OnClick() и OnTriggerEnter2D(Collider2D other) можно и дальше размещать объекты на сцене, которые будут преграждать путь или будут помогать персонажу пройти уровень.

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

На этом все, удачных проектов)!

🔍 Видео

Создание кликера на Unity #1Скачать

Создание кликера на Unity #1

Сделал Clicker на Unity за 4 минуты | Как создать игру | Кликер на Unity | Создание игр на ЮнитиСкачать

Сделал Clicker на Unity за 4 минуты | Как создать игру | Кликер на Unity | Создание игр на Юнити

ДОХОД С ИГРЫ спустя 2 МЕСЯЦА & Обновление КЛИКЕРА | Unity, Gamedev, РекламаСкачать

ДОХОД С ИГРЫ спустя 2 МЕСЯЦА & Обновление КЛИКЕРА | Unity, Gamedev, Реклама

как сделать КЛИКЕР | Часть 1 | Unity, C# - Получение валютыСкачать

как сделать КЛИКЕР | Часть 1 | Unity, C# - Получение валюты

Создание кликера на Unity| Unity2dСкачать

Создание кликера на Unity| Unity2d

Вот как Создать Простую Игру за 10 минуток на Unity / Unity 2d / C# / Как создать игруСкачать

Вот как Создать Простую Игру за 10 минуток на Unity / Unity 2d / C# / Как создать игру

СОЗДАЮ КЛИКЕР на UNITY |Часть 1| Unity C# - Магазин и улучшенияСкачать

СОЗДАЮ КЛИКЕР на UNITY |Часть 1| Unity C# - Магазин и улучшения

как создать кликер игру на Unity #1Скачать

как создать кликер игру на Unity #1

Создание кликера на Unity #1 | КАК СОЗДАТЬ ИГРУ НА [UNITY] | РАЗРАБОТКА ИГРЫ #unity3d #rimurudevСкачать

Создание кликера на Unity #1 | КАК СОЗДАТЬ ИГРУ НА [UNITY] |  РАЗРАБОТКА ИГРЫ #unity3d #rimurudev

КАК СОЗДАТЬ ИГРУ ЗА 5 МИНУТ? / Unity Создание ИгрСкачать

КАК СОЗДАТЬ ИГРУ ЗА 5 МИНУТ? / Unity Создание Игр

Создание кликера на Unity #4 - Переделываем систему достиженийСкачать

Создание кликера на Unity #4 - Переделываем систему достижений

КАК СОЗДАТЬ ИГРУ КЛИКЕР НА UNITY || №1Скачать

КАК СОЗДАТЬ ИГРУ КЛИКЕР НА UNITY || №1

как сделать КЛИКЕР | Часть 2 | Unity, C# - Магазин улучшений и бонусыСкачать

как сделать КЛИКЕР | Часть 2 | Unity, C# - Магазин улучшений и бонусы
Поделиться или сохранить к себе:
Технологичная помощь
Добавить комментарий

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