Предисловие.
Данный урок рассчитан людей знакомых с ClickTeam Fusion, и читавших предыдущие уроки по Simple Sonic Worlds, выложенных на этом сайте. По этой причине, в этом уроке я разберу способ создания боссов, максимально кратко.
Также, в предыдущих уроках я совершил ошибку, нужно было проверять коллизию с «Player_CharacterSensor«, а не со спрайтом соника. Спросите в чем разница? Разница в том что, «Player_CharacterSensor» присутствует во всех персонажах (Соник, Тейлз, Эми и т.д.), тогда как спрайт соника, принадлежит только сонику. Таким образом, проверяется коллизия независимо от выбранного персонажа.

Подготовка.
Для начала, создадим 2 активных объекта, а 1 перетащим. Boss и Boss Trigger, это новые активные объекты. Boss Cam, перетаскиваем со сцены босса с меха-соником.
Скачать спрайт кружки, можно на MEGA.

Добавим нашей кружке, 3 новых переменных. Переменную HP, в которой хранится количество HP босса, и 2 флага invulnerability и lockCamera, которые будут хранить состояния бессмертия и закрепленной камеры.

Пишем логику.
Теперь, зайдите в Event List Editor (Ctrl+L), в раздел [Stage 00 — Gimmicks].

Разберем каждое из условий.

При столкновении «Player_CharacterSensor» с Boss Trigger (overlapping), флаг lockCamera переключает значение on. Данное действие произойдет, всего лишь, 1 раз (Repeat 1 times).
Перейдем к следующему условию.

- Если флаг invulnerability = off (босс не бессмертен)
- и игрок соприкасается с боссом (кружкой).
- и игрок атакует (Attacking = 1)
- а также, он прыгнул (Action = 1)
Только лишь тогда:
- Проигрываем звук удара. (Play sample Sound_BossHit), предварительно его остановив (Stop sample Sound_BossHit)
- Инвертируем скорость игрока по оси Y (на практике это значит, что игрок откинется назад).
- Устанавливаем режим бессмертия (invulnerability = on).
- Запускаем таймер, который через секунду, создаст эвент «canBeat«. Данный таймер нам нужен что-бы, через секунду, сделать босса вновь смертным.
- Устанавливаем эффект инвертирования цветов (Set effect to «Inverted«), что-бы опознать режим бессмертия.
- Уменьшаем HP босса на 1.
- Инвертируем скорость игрока по оси X (на практике это значит, что игрок откинется назад).
Идем дальше.

В эвенте «canBeat«
- Убираем эффекты (Set effect to «None»)
- И отключаем бессмертие (Set invulnerabilty off)

Если HP = 0 (босс умер) то:
- CameraMode to 0 — камера, теперь, следует за игроком.
- lockCamera off — эвент, который не позволял сонику выйти за пределы bossCamera, отключен.
- CameraAction to 0 — соник, может выйти за пределы bossCamera.
- Destroy — уничтожаем объект босса.
Теперь, перейдем к самому вкусному, к циклу который запирает соника на арене с боссом.

- Первые 4 комманды, задают координаты ограничивающие движение соника. Координаты рассчитываются относительно bossArea.
- Устанавливаем значение CameraAction равным -99. Таким образом, игрок запирается внутри камеры.
- А значение CameraAction тоже, устанавливаем равным -99. Теперь, камера зафиксирована на одном месте.
Все, готово. Если вы все сделали правильно, то при столкновении с Boss Trigger, начнется битва с боссом.
Итоговый результат.
