Здравствуйте! В этой статье мы добавим такую игровую механику как Чекпоинты (Checkpoints).
Но для начала улучшим предыдущую, а именно уничтожение лягушек под нами: добавим дымок после смерти и отскок от них. Для этого добавим объект "Дымка", а именно объект, который будет лишь воспроизводить анимацию и появляться на месте лягушки. Добавляем его в Prefab.
Теперь идем в код. Вместо вызова метода, уничтожающего объект, будем вызывать Коратину, в которую передадим collision:
Разберем новую строчку:
- go = ... - создание объекта anim ("Дымок"), в котором координаты лягушки, и запоминаем его в переменную.
Вот такой результат получается:
Перейдем теперь к Чекпоинтам
Выбираем спрайт (у меня это вишня), который будет нашей точкой сохранения и переносим на сцену. Нам надо, чтобы он уничтожался при взаимодействии с персонажем и сохранял его местоположение.
Для этого добавляем к вишне Скрипт, в котором будет проверяться соприкосновение с игроком, и уничтожим объект:
this.gameObject - ссылка на текущий игровой объект (объект, к которому прицепили Скрипт).
Чтобы сохранять координаты игрока, можно воспользоваться PlyerPrefs:
В xPos, которая является "переменной", мы сохраняем координату X игрока, аналогично с yPos.
Осталось во время загрузки Сцены подгружать эти координаты:
Вот так просто можно реализовать Чекпоинты в игре!