2.9 KiB
SOUND
Krótki efekt dźwiękowy wczytywany z pliku .WAV. Obsługuje sterowanie odtwarzaniem oraz zmianę próbkowania, co pozwala dynamicznie zmieniać wysokość i prędkość odtwarzanego dźwięku.
Pola
FILENAME
STRING FILENAME
Nazwa pliku .WAV z dźwiękiem. Jeżeli ścieżka nie zaczyna się od $, silnik dokleja prefiks $WAVS\. Pole odczytywane podczas inicjalizacji zmiennej; może być również ustawione w trakcie działania metodą LOAD.
PRELOAD
BOOL PRELOAD
Określa, czy dane dźwięku mają być załadowane od razu przy inicjalizacji, czy dopiero przed pierwszym odtworzeniem.
Metody
ISPLAYING
BOOL ISPLAYING()
Sprawdza, czy dźwięk jest aktualnie odtwarzany.
Zwraca: BOOL — TRUE, jeżeli dźwięk jest odtwarzany.
Przykłady
SNDATGOAL^ISPLAYING();
SNDREX0^ISPLAYING();
LOAD
void LOAD(STRING path)
Wczytuje plik dźwiękowy do zmiennej, zastępując dotychczas załadowany dźwięk. Bieżące odtwarzanie zostaje zatrzymane. Jeżeli ścieżka nie zaczyna się od $, dodawany jest prefiks $WAVS\.
Parametry
path— ścieżka pliku.WAVw VFS gry.
Przykłady
SNDATGOAL^LOAD(VARSTEMP0);
SNDWAV^LOAD("$WAVS\NAR_I000.WAV");
SNDANSWER^LOAD(ARRSEQ^GET(0));
PAUSE
void PAUSE()
Pauzuje odtwarzanie dźwięku.
Przykłady
SND_SHIP_GAZ2^PAUSE();
PLAY
void PLAY()
Rozpoczyna odtwarzanie dźwięku. Po starcie emitowany jest sygnał ONSTARTED; po zakończeniu odtwarzania — ONFINISHED. Jeżeli dźwięk już gra, jest najpierw zatrzymywany i odtwarzany od początku.
Przykłady
SNDTAKE^PLAY();
SNDATGOAL^PLAY();
RESUME
void RESUME()
Wznawia odtwarzanie zatrzymane wcześniej przez PAUSE.
Przykłady
SND_SHIP_GAZ2^RESUME();
SETFREQ
void SETFREQ(INTEGER sampleRate)
Ustawia bieżące próbkowanie odtwarzanego dźwięku (w hercach). Wartość różna od próbkowania oryginalnego pliku zmienia wysokość i prędkość odtwarzania proporcjonalnie do stosunku obu wartości. Próbkowanie pliku oryginalnego silnik traktuje domyślnie jako 22050 Hz.
Parametry
sampleRate— docelowe próbkowanie w Hz.
Przykłady
SNDENGINE0^SETFREQ(10025);
STOP
void STOP([BOOL emitSignal])
Zatrzymuje odtwarzanie dźwięku.
Parametry
emitSignal— (opcjonalnie) jeżeliFALSE, sygnałONFINISHEDnie zostanie wyemitowany. Domyślnie sygnał jest emitowany.
Przykłady
SNDATGOAL^STOP(FALSE);
SNDIDLEREX^STOP();
Sygnały
ONSTARTED
Wywoływany po rozpoczęciu odtwarzania dźwięku przez metodę PLAY.
ONFINISHED
Wywoływany po zakończeniu odtwarzania (naturalnym lub przez metodę STOP bez argumentu FALSE).