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;
      
      

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

      Clicker  на Unity | Unity для детей | Unity с нуля | Курс Си Шарп для детей | Игр в Unity Clicker
      } 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) {
      
      
              }
      	}
      
      

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

      Как сделать КЛИКЕР за 8 минут | Unity, C#
      // 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 (про это больше упоминать не будем, эти компоненты будут присутствовать на всех последующих игровых объектах )

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

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

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

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) можно и дальше размещать объекты на сцене, которые будут преграждать путь или будут помогать персонажу пройти уровень.

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

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

🌟 Видео

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание кликера на Unity #1 | КАК СОЗДАТЬ ИГРУ НА [UNITY] |  РАЗРАБОТКА ИГРЫ #unity3d #rimurudev
Поделиться или сохранить к себе:
Технологичная помощь
Добавить комментарий

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