Найти в Дзене
NoT ZaTroTing

Создаём платформер в Unity2D #6

Здравствуйте! В этой статье мы научимся добавлять врагов в наш платформер и узнаем про Коротины (Coroutines).

Для начала надо придумать врага. Т.к. у меня в Спрайтах была лягушка, то она им и будет. Как обычно, переносим на Сцену, добавляем RigidBody 2D и Collider'ы 2D:

Сверху сделал "платформу", чтобы можно было легче скакать по лягушкам.
Сверху сделал "платформу", чтобы можно было легче скакать по лягушкам.

Как и положено лягушке, мы заставим её прыгать. Только через циклы while или for не получится, потому что он не учитывает время. Именно для этого нам и понадобятся Коротины, но я зашел немного далеко.

Цепляем к Лягушке Аниматор и добавляем анимацию (смотрите прошлые уроки).

Также добавляем скрипт:

Просто напоминание "базового" скрипта
Просто напоминание "базового" скрипта

Теперь надо сделать так, чтобы Лягушка прыгала раз в сколько-то секунд. Воспользуемся Коротиной(-ом?):

Раз в столько-то секунд происходит прыжок.
Раз в столько-то секунд происходит прыжок.
  • time - таймер в секундах
  • IEnumerator Jump() - "метод", который реализует прыжок
  • yield return new WaitForSeconds(time) - действует как обычный return, только по итерации
  • StartCoroutine(Jump()) - вызов таймера на прыжок

Теперь научим нашего персонажа прыгать по Лягушкам, чтобы уничтожать их. Для этого добавляем Tag и Layer Enemy к Лягушке и открываем скрипт персонажа:

Теперь у нас есть враги, с которыми мы можем взаимодействовать!

В следующей статье мы добавим Чекпоинты!