audio_play_sound_on 함수
개요
audio_play_sound_on 함수는 이펙터를 통해 사운드 자산을 재생합니다. 이펙터의 게인, 위치, 피치 또는 속도에 대한 변경 사항은 최종적으로 사용자가 듣는 소리에 영향을 미칩니다. 이 함수를 사용하여 사용자 정의 사운드를 재생할 수 있으며, 반복 여부 및 우선순위를 설정할 수 있습니다.
문법
audio_play_sound_on(emitter, sound, loop, priority, [gain], [offset], [pitch], [listener_mask]);
매개변수 설명
| 매개변수 | 데이터 유형 | 설명 |
|---|---|---|
| emitter | Audio Emitter ID | 사용할 이펙터의 인덱스입니다. |
| sound | Sound Asset | 사용할 사운드의 인덱스입니다. |
| loop | Boolean | 사운드를 반복할지 여부를 플래그합니다. |
| priority | Real | 사운드의 채널 우선순위를 설정합니다. |
| gain | Real | 사운드 인스턴스의 게인 (기본값은 1)입니다. |
| offset | Real | 재생 시작 시간(초 단위)입니다. 사운드 끝을 넘어서는 값은 자산의 길로 제한됩니다. 기본값은 자산-레벨 오프셋입니다. |
| pitch | Real | 사운드의 피치 조정값입니다. |
| listener_mask | Real | 사운드에 대한 비트 마스크 데이터 설정입니다. HTML5에서는 효과가 없습니다. |
반환 값
- 소리 인스턴스 ID
예제
예제 1
if (global.SFX) {
audio_play_sound_on(s_emit, snd_Explode, false, 1);
}
- 위 코드는 글로벌 변수 "SFX"를 확인하고 참이면, "snd_Explode"로 인덱스된 사운드를 이펙터 "s_emit"를 통해 우선순위 1로 반복 없이 재생합니다.
예제 2
if (hit == true) {
audio_play_sound_on(s_emit, snd_Hit, false, 1, 1.3);
}
- 위 코드는 인스턴스가 맞았는지를 확인합니다. 참이면, "snd_Hit" 사운드를 여자돌이 "s_emit"를 통해 다소 높은 게인(1.3)으로 재생합니다. 여기 설정된 게인은 이펙터의 게인과 곱해져 최종 재생 게인이 됩니다.
활용 및 응용 예제
- 배경 음악 및 효과음 재생
gml audio_play_sound_on(s_bg_music, snd_Background, true, 5); // 배경 음악은 반복 if (player_jump) { audio_play_sound_on(s_emit, snd_Jump, false, 2); }- 게임의 배경 음악을 재생하고, 플레이어의 행동에 따라 효과음을 추가로 재생할 수 있습니다.
- 사운드 우선순위 처리
gml audio_play_sound_on(s_emit, snd_Method1, false, 1); audio_play_sound_on(s_emit, snd_Method2, false, 10); // Method2가 높은 우선순위로 재생됩니다.- 사운드가 동시에 여러 번 재생될 경우, 우선순위를 통해 어떤 사운드가 계속 재생될지 결정합니다.
- 상황별 효과음 조정
gml if (enemy_nearby) { audio_play_sound_on(s_emit, snd_Aggressive, false, 5, 1.5, 0, 1); // 공격적인 소리, 게인 증가 } else { audio_play_sound_on(s_emit, snd_Calm, false, 1, 0.5); // 차분한 소리, 게인 감소 }- 상황에 따라 다르게 사운드의 게인 및 피치를 조절하여 다채로운 효과를 제공합니다.
이 문서는 audio_play_sound_on 함수의 사용방법 및 다양한 활용 방법에 대해 설명하였습니다. 필요에 따라 매개변수를 조정하여 자신의 요구에 맞는 사운드를 재생해보세요!