Контрольные точки
Часть раздела Создание настоящих игр путешествия по Unity на Coddy. Урок 50 из 56.
Задание
СреднеПадение в пустоту должно стоить немного, а не всего прохождения. Сохрани всё из предыдущих уроков. На трассе стоят два красных столба — Checkpoint1 и Checkpoint2, у каждого есть триггер и скрипт Checkpoint.
В Player:
- Поле
fallY, значение которого задаётся в Inspector (-5), и точка возрождения, изначально совпадающая с местом старта игрока. - Открытый метод
SetCheckpoint(Vector3 point), который делаетpointточкой возрождения. - Когда игрок опускается ниже
fallY, верни его в точку возрождения и сбрось егоvelocity. Одного присваиванияtransform.positionнедостаточно: следующий вызовMoveконтроллера начнётся с места, где его в последний раз видела физика, и отменит перемещение. Выключи контроллер (controller.enabled = false) на время перемещения игрока, а затем снова включи его.
В Checkpoint:
- Когда игрок (объект со скриптом
Player) впервые входит в триггер, задай положение контрольной точки в качестве точки возрождения игрока, покрась столб в зелёный цвет (Color.green) и выведи в журналCheckpoint reached. - При повторном входе ничего не происходит, поэтому старая контрольная точка никогда не возвращает точку возрождения назад.
Нажми Play, доберись до контрольной точки и прыгни в пустоту, затем нажми Check.
Попробуйте сами
using UnityEngine;
public class Checkpoint : MonoBehaviour
{
// В одном из следующих уроков здесь появится флаг, который изменяет место, где вы появляетесь после падения.
}
Все уроки раздела Создание настоящих игр
1Текст на экране
Холст и текстПокажем счётФорматирование чиселТаймер обратного отсчётаПовторение: спидометр4Сцены и уровни
Загрузить сценуПерезапустить уровеньСледующий уровеньСохранить между сценамиПовторение: выбор уровня7Управление временем
Пауза с timeScaleЗамедленное движениеНемасштабируемое времяПовторение: Bullet Time10Проект: 3D-платформер
ТрассаДвижущиеся платформы2Кнопки и экраны
Кнопки и onClickЛямбдыСвязи в InspectorВключение и выключение панелейШкалы здоровьяПовторение: магазин улучшений5Сохранение с помощью PlayerPrefs
Сохранение числаЗагрузка со значением по умолчаниюРекордСохранение настроекПовторение: монеты в банке