Sonic. Создание боссов в Simple Sonic Worlds.

Предисловие.

Данный урок рассчитан людей знакомых с ClickTeam Fusion, и читавших предыдущие уроки по Simple Sonic Worlds, выложенных на этом сайте. По этой причине, в этом уроке я разберу способ создания боссов, максимально кратко.

Также, в предыдущих уроках я совершил ошибку, нужно было проверять коллизию с «Player_CharacterSensor«, а не со спрайтом соника. Спросите в чем разница? Разница в том что, «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, начнется битва с боссом.

Итоговый результат.

avatar

Пожалуйста отключи блокировщик рекламы, или внеси сайт в белый список!

Please disable your adblocker or whitelist this site!