Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткое справочное руковод...doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
218 Кб
Скачать
☆
    1. Управление звуками

При написании interaction для какой-либо сущности необходимо разделить звуки на 2 категории: те, которые могут постоянно запускаться и останавливаться (например, звук работающего двигателя, пение птиц, …) и однократно проигрываемые звуки (например, звук взрыва танка, звук падающего дерева).

Звуки первой категории лучше всего сначала привязать к сущности в событии spawn. Для того, чтобы это сделать, существует действие link_sound.

Формат записи действия:

{link_sound “<имя звука interaction>” “<группа звука>.<имя>”}

Имя звука interaction – имя, с которым в дальнейшем будут работать действия запуска и остановки звука.

Группа звука и имя задаются через точку и определяют конкретный звук из файла настроек звуков set\sound.set.

Например:

{on spawn

{link_sound “engine” “engine.tank”}

}

После привязки звука для того, чтобы его запустить, необходимо выполнить действие play_sound. Формат записи:

{play_sound “<имя звука interaction>” <флаг зацикливания>}

По умолчанию флаг зацикливания звука равен 0.

Например:

{on “move_on”

{play_sound “engine” 1}

}

Для остановки таким образом проигрываемого звука существует действие stop_sound. Формат записи действия:

{stop_sound “<имя звука interaction>”}

Например:

{on “move_off”

{stop_sound “engine”}

}

Для звуков второй категории (однократно проигрываемых для сущности) определено действие start_sound. Формат записи:

{start_sound “<группа звука>.<имя>”}

Например:

{on “explosion”

{start_sound “death.tank”}

}

    1. Управление волюмами

Волюмы представляют собой физическую структуру модели. В игровом процессе свойства волюмов могут изменяться, отражая изменения в структуре.

Волюмы могут обладать следующими свойствами:

  • visible – видим другими объектами игрового мира и может закрывать собой какие-либо объекты;

  • bullet – является препятствием при трассировке пуль; может быть пробит либо пуля застряет внутри;

  • overlap – информирует о пересечении с волюмами других сущностей;

  • obstacle – используется для автоматической генерации зон - препятствий для других сущностей;

  • contact – может сталкиваться с волюмами других объектов;

  • contact_ground - может сталкиваться с землей;

  • blast – на волюм может действовать взрывная волна;

В системе interactions можно по определенным событиям изменять свойства волюмов. Например, если на волюм действует взрывная волна, то при определенном пороге он может сломаться. При этом он теряет в дальнейшем свойство действия на него взрывной волны, или, например, при полном физическом уничтожении, все свойства.

Для работы с волюмами используются действия volume и volumes. При этом можно как запрещать какие-то свойства, так и разрешать.

Действие volume распространяется на текущий волюм в контексте.

Формат записи:

{volume <enable/disable> <свойства>}

Volumes же действует на все волюмы, имеющие заданный тэг.

Формат записи:

{volumes “<тэги>” <enable/disable> <свойства>}

Пример использования:

{on blast

{if volume “body”

{if min_energy 1.0

{volumes “body” disable blast bullet visible}

}

}

}

или:

{on pierce

{if volume “head”

{if bullet “shell”

{volume disable bullet}

}

}

}