DECORATE. Создание декораций(2).

Этот урок является прямым продолжением DECORATE. Cоздание декораций(1).

Подготовка

Сначала поставьте правильное смещение для всех спрайтов, между маркерами S_START и S_END.

Создание разноцветного фонаря.

Затем, в декорейте создайте новый актор coolLamp:

actor coolLamp 10001
{
  radius 10
  height 64
  +Solid
  states
  {
  Spawn:
    LMP1 ABCDEF 5 Bright
    loop
  }
}

Вот так должен выглядеть сейчас файл DECORATE.

actor bunny 10000
{
  radius 10
  height 64
  +SOLID
  states
  {
  Spawn:
    BUNN A -1
    stop
  }
}

actor coolLamp 10001
{
  radius 10
  height 64
  +Solid
  states
  {
  Spawn:
    LMP1 ABCDEF 5 Bright
    loop
  }
}

Обратите внимание на то что, у coolLamp и bunny разные id.

actor coolLamp 10001
actor bunny 10000

У каждого актора должен быть свой, уникальный id.

В основном, код актора coolLamp копирует код актора bunny, за исключением стейта Spawn, его мы и разберем.

Spawn:
    LMP1 ABCDEF 5 Bright
    loop
  }

Здесь название_кадра(ABCDEF) выражает анимацию актора. Вот эта комманда:

LMP1 ABCDEF 5 Bright

Значит, что нужно проиграть анимацию из LMP1A — > LMP1B -> LMP1C -> LMP1D -> LMP1E -> LMP1F, с интервалом в 5 тиков(1 тик = 1/35 секунды).

Следующая комманда loop.

loop

Делает анимацию бесконечной

Проверяем

Поместите на карту фонарь, запустите wad, и увидите анимированный фонарь.

С фонарем разобрались, двигаемся дальше.

Создание потолочной лампы

Добавьте следующий код в DECORATE.

actor ceilLamp 10002
{
  radius 10
  height 128
  +Solid
  +Nogravity
  +SpawnCeiling
  states
  {
  Spawn:
    CLMP A -1
    stop
  }
}

Разберем новые флаги.

  • +Nogravity — этот флаг отключает гравитацию у актора, это нужно для того, чтобы лампа не падала с потолка.
  • +SpawnCeiling — этот флаг устанавливает актор не на полу(как обычно), а на потолке.

Также, задавать высоту нужно по особенному(для потолочных акторов). Высота актора должна быть такой же как и высота изображения актора. У нас свойство Height(Высота) равняется 128.

height 128

И высота изображения CLMPA0 тоже равна 128.

Размер изображения CLMPA0, равен 64×128

Значит все верно. Устанавливаем на карту и тестим.

Добавляем траву

Добавьте этот код в DECORATE.

actor grass 10003
{
  radius 16
  height 128
  -Solid
  states
  {
  Spawn:
    GRAS A -1
    stop
  }
}

Код актора grass мало чем отличается от кода актора bunny. Но все же отличия есть, разберем их!

-Solid

Этим флагом мы убрали колизию(можно проходить сквозь актор) у актора.

GRAS A -1

А здесь мы установаили бесконечное проигрывание кадра GRASA0.

Ладно, время тестить. Скачать wad можно на MEGA.

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

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

Please disable your adblocker or whitelist this site!