DECORATE. Создаем проджектайлы(снаряды).

Предисловие

Создавать проджектайлы(снаряды) даже проще чем декорации. Для этого:

  • Используйте свойство Projectile
  • Установите нужную высоту и радиус(Height и Radius)
  • Установите 2 стейта — Spawn и Death, стейт Spawn Должен быть зациклен(loop).

Создаем снаряд.

Сначала скачайте спрайты для снаряда с MEGA.

Вот так выглядит спрайт снаряда.

Затем, cкопируйте данный код, к себе в DECORATE.

actor blueProj
{
  height 8
  radius 6
  damage 5
  speed 20 
  PROJECTILE
  states
  {
  Spawn:
    CBUL AB 4 bright
    loop
  Death:
    CBUL CDE 6 bright
    stop
  }
}
  • height — высота снаряда
  • radius — радиус снаряда
  • damage — урон, наносимый при попадании
  • speed — скорость с которой летит снаряд
  • PROJECTILE — свойство, которое говорит декорейту, что данный актор является снарядом.

Остальной код, наверное, вам понятен. Если нет, задавайте свои вопросы в комментариях.

Снаряд создан. Его будет выпускать монстр randMonster с помощью фукнкции A_CustomMissile. Код измененного стейта Missile для актора randMonster оставлю внизу. Монстра randMonster мы создали в предыдущих уроках.

Missile:
    RANF A 1 A_FaceTarget
    RANF AAAAAAAAAAAAA 1 A_CustomMissile("blueProj")
    goto See

Сохраняем, запускаем.

Снаряд создан, но он не издает звуков, и это плохо. Чтобы исправить это, мы добавим 2 звука:

  • SeeSound — звук который проигрывается во время выстрела.
  • DeathSound — звук который проигрывается при столкновении.

Эти звуки вы можете скачать с MEGA.

Добавляем звучание.

Добавьте следующий строки к себе в DECORATE, можете добавить их в любое место(в пределах актора blueProj), главное не трогайте блок states.

seesound "blast1"
deathsound "blast2"

Синтаксис у seesound следующий:

seesound "название_переменной"
  • название_переменной — это название той самой переменной в которой хранится звук.

У deathsound синтаксис такой же как и в seesound.

Данный код, пока, не может проиграть звук, потому что переменных blast1 и blast2 не существует. Их нужно добавить в SNDINFO. SNDINFO это такой же текстовый файл как и DECORATE.

Работаем с SNDINFO

Создайте в своем ваднике файл SNDINFO. В него напишите следующее.

BLAST1 BLAST1
BLAST2 BLAST2

Синтаксис у SNDINFO следующий:

путь_до_звука название_переменной

В нашем случае, путь_до_звука это название звука(расширение файла указывать не нужно), потому что SNDINFO и звук, находятся в одном месте. Название_переменной может быть любым, но ради простоты, я выбрал то же название что и файла.

Сохраняем, запускаем. Теперь мы можем слышать звуки стрельбы.

Последние штрихи.

Еще, можно изменить тип рендера актора(снаряда). Добавьте следующую строку к себе в декорейт. Больше о типах рендера можно узнать на вики.

renderstyle add

Например, тип рендера add делает актор прозрачным.

Сохраняем, проверяем.

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