Редактирование: Класс sound object
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
− | |||
=Описание класса из lua_help= | =Описание класса из lua_help= | ||
<syntaxhighlight lang="cpp">C++ class sound_object { | <syntaxhighlight lang="cpp">C++ class sound_object { | ||
Строка 89: | Строка 88: | ||
'''Описание параметров'''<br/> | '''Описание параметров'''<br/> | ||
<code>obj</code> - игровой объект<br/> | <code>obj</code> - игровой объект<br/> | ||
− | <code>timeout</code> - задержка перед проигрыванием звука | + | <code>timeout</code> - задержка перед проигрыванием звука<br/> |
<code>position</code> - позиция<br/> | <code>position</code> - позиция<br/> | ||
− | <code>volume</code> - громкость | + | <code>volume</code> - громкость<br/> |
<code>flags</code> - набор констант класса sound_object (looped, s2d, s3d) | <code>flags</code> - набор констант класса sound_object (looped, s2d, s3d) | ||
==play== | ==play== | ||
Строка 97: | Строка 96: | ||
function play(obj, timeout); | function play(obj, timeout); | ||
function play(obj, timeout, flags);</syntaxhighlight> | function play(obj, timeout, flags);</syntaxhighlight> | ||
− | + | 1) Методы с одним и двумя аргументами не работают.<br/> | |
− | + | 2) Работает только для актора.<br/> | |
− | + | По сути, этот метод годится только для проигрывания звуков в голове актора. | |
==play_at_pos== | ==play_at_pos== | ||
<syntaxhighlight lang="lua">function play_at_pos(obj, position); | <syntaxhighlight lang="lua">function play_at_pos(obj, position); | ||
function play_at_pos(obj, position, timeout); | function play_at_pos(obj, position, timeout); | ||
function play_at_pos(obj, position, timeout, flags);</syntaxhighlight> | function play_at_pos(obj, position, timeout, flags);</syntaxhighlight> | ||
− | + | 1) Для метода с двумя аргументами, второй аргумент - это позиция на уровне. Звук не перемещается вместе с объектом, а остается играть там, где запустили. Работает и для актора и для других объектов.<br/> | |
− | + | 2) Метод с тремя аргументами работает как и предыдущий, но появилась возможность установки таймаута.<br/> | |
− | + | 3) Особенности метода с четырьмя аргументами:<br/> | |
− | + | - Для актора аргумент position - это смещение звука относительно актора. Звук смещается вместе с актором. Также, необходимо использовать флаг s2d (при s3d звука не будет).<br/> | |
− | + | - Для других объектов аргумент position является позицией на уровне. В этом случае необходимо использовать флаг s3d. | |
==play_no_feedback== | ==play_no_feedback== | ||
<syntaxhighlight lang="lua">function play_no_feedback(obj, flags, timeout, position, volume);</syntaxhighlight> | <syntaxhighlight lang="lua">function play_no_feedback(obj, flags, timeout, position, volume);</syntaxhighlight> | ||
− | + | 1) Для актора аргумент position - это смещение звука относительно актора. Звук перемещается вместе с актором. Также, необходимо использовать флаг s2d (при s3d звука не будет).<br/> | |
− | + | 2) Для других объектов аргумент position является позицией на уровне. В этом случае необходимо использовать флаг s3d.<br/> | |
− | + | 3) При наличии looped, звук продолжает циклически играть и после перезагрузки сейва.<br/> | |
− | + | 4) Громкость задается в диапазоне от 0.0 до 1.0.<br/> | |
− | + | 5) Для этого метода не работает дальнейшее изменение каких-либо параметров, в т.ч. и остановка<br/> | |
− | + | Фактически не подходит для проигрывания зацикленных звуков. | |
− | |||
− | |||
− | |||
− | |||
− | + | '''Совет:''' при использовании методов ''play'' и ''play_at_pos'' - сохраняйте созданный звуковой объект во внешнюю локальную переменную, иначе уборщик затрет ваш звук в игре. |