Этот урок является прямым продолжением 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.

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

Добавляем траву
Добавьте этот код в DECORATE.
actor grass 10003
{
radius 16
height 128
-Solid
states
{
Spawn:
GRAS A -1
stop
}
}
Код актора grass мало чем отличается от кода актора bunny. Но все же отличия есть, разберем их!
-Solid
Этим флагом мы убрали колизию(можно проходить сквозь актор) у актора.
GRAS A -1
А здесь мы установаили бесконечное проигрывание кадра GRASA0.
Ладно, время тестить. Скачать wad можно на MEGA.
Итоговый результат
