Инструкции Мультимедиа

Инструкции Мультимедиа, ввода/вывода, инструкции управляющие ходом игры, инструкции переназначения клавиатуры, инструкции многопользовательские, Bitmap инструкции, Plugin DLL, отладка, назначение функций или действий.

Следующие инструкции управляют проигрыванием звуков, музыки и кино.

snd_play (sound, var, balance);
Играет предварительно определенный звук(sound) с указанной громкостью (0..100). Возвращает число-дескриптор, которое позволяет дальнейшую манипуляцию или преждевременную остановку звука. Дескриптор действителен пока звук играет. Используйте var_nsave для хранения дескрипторов, чтобы предотвратить их от перезаписи непарвильными значениями инструкцией load. Параметр balance оапредляет положение стерео звука в процентах (-100.. +100). Вы можете создавать эффект эха, играя тот же самый звук дважды с коротким промежутком задержки. До 32 звуков может проигрываться одновременно.

snd_playfile (filename, volume, balance);
Подобно snd_play, но играет моно звуковой файл в формате .wav. Используйте эту инструкцию для игры очень больших звуков, которые будут сыграны только однажды.

snd_loop (sound, volume, balance);
Подобно snd_play, но звуку будет играть по кругу непрерывно, пока это не будет явно остановлен иснтрукцией snd_stop.

ent_playsound (entity, sound, volume);
Играет звук как 3D-звук, сыгранный в позиции сущности(в месте где расположена сущность). Дальность (в квантах) звука от сущности — в 10 раз больше его громкости. Громкость может быть более чем 100, чтобы можно было задать огромную дальность звучания; сам звук, конечно, не будет звучать громче 100. Звук будет использовать стерео и 3-D возможности звуковой карты, и произведет doppler-смещение, если сущность перемещалась по отношению к камере в процессе выполнения инструкции. Обратите внимание, что сущность должна уже существовать во время когда звук играет — это означает что если сущностьбыла создана, это должно было случаться по крайней мере за 1 цикл фрейма прежде.

snd_stop (handle);
Останавливает звук с номером дескриптора, указанным в переменной. Пример:
sound wave = ;
var_nsave wavehandle;

wavehandle = snd_play(wave,50,-75);
waitt(50);
snd_stop(wavehandle);

snd_tune (handle, volume, freqency, balance);
Изменяет звук с номером дескриптора, указанным в handle. Может изменять громкость(volume) (1.. 100), частоту(frequency) (10.. 1000, процент от первоначальной частоты) и баланс(-100.. +100). Если один из параметров — 0, параметр остается неизменным.

snd_playing (handle);
Если звук с данным дескриптором все еще играет, эта функция возвращается 1, иначе 0.

Следующие инструкции мультимедиа не могут использоваться DLL расширениями:

play_song (music, var);
Запускает новую фоновую мелодию, которая будет повторяться до запуска другой play_song инструкции. Music — предварительно определенное имя для midi файла, var дает громкость мелодии — от 1 до 100. Задав нулевую громкость midi мелодия будет остановлена.

play_song_once (music, var);
Подобно play_song, но проигрывает мелодию только 1 раз.

play_cd (varfrom, varto);
Играет звуковые дорожки от КОМПАКТ-ДИСКА. Varfrom указывает первый, varto последнюю дорожку, которая будет сыграна (мин. 1, макс. 99). Если varto имеет более высокое значение чем число дорожек на КОМПАКТ-ДИСКЕ, КОМПАКТ-ДИСК будет играть до конца. Если varfrom = 0 то играющий КОМПАКТ-ДИСК будет остановлен; если varto — 0, КОМПАКТ-ДИСК продолжит с того места где был остановлен. Если оба — 0, ничто не случится. После каждого выполнения play_cd предопределенная переменная cd_track будет получать номер проигрываемой дорожки или 0, если КОМПАКТ-ДИСК не играет. В промежутке cd_track не будет изменяться; чтобы показывать номер текущей дорожки непрерывно, должна постоянно (например каждую секунду) выполняться инструкция play_cd 0,0;.

play_moviefile («filename»);
Запускает full-screen фильм. filename — AVI видеофайл. Он не может быть проигран из файла ресурса, а должен существовать как внешний файл, так что filename должен бûть в двойных кавычках вместо угловых скобок. В процессе проигрывания AVI рендеринг и действия сущностей будут приостановлены. Предопределенная переменная movie_frame будет содержать номер показанного в настоящее время кадра или 0, если фильм окончен. Для проигрывания используется кодек Microsoft Multimedia Interface (MMIO). На старых PC кодек для проигрывания MPEG-сжатых AVI не установлен по умолчанию, поэтому мы рекомендуем не использовать MPEG-сжатое AVI видео.

stop_movie;
Останавливает проигрывание текущего видео.

Добавить комментарий