오디오 리스너 마스크 함수 설명
이 문서에서는 audio_sound_get_listener_mask 함수에 대해 설명하고, 이 함수를 활용하는 예제를 제공합니다. 이 함수는 사운드가 어떤 오디오 리스너에게 재생될지를 정의하는 비트 마스크 데이터를 반환합니다.
함수 설명
audio_sound_get_listener_mask
이 함수는 사운드의 리스너 마스크를 가져옵니다. 리스너 마스크는 특정 사운드가 어떤 리스너에게 재생될지를 결정합니다.
문법
audio_sound_get_listener_mask(soundID);
매개변수
| 매개변수명 | 데이터 타입 | 설명 |
|---|---|---|
| soundID | Sound Instance ID | 가져올 사운드의 고유 ID |
반환값
- Real: 사운드의 리스너 마스크
예제 코드
아래 예제 코드는 사운드를 재생한 후 해당 사운드의 리스너 마스크 데이터를 확인하고, 저장된 글로벌 변수와 다르면 마스크 데이터를 글로벌 변수의 값으로 업데이트하는 방식입니다.
var snd = audio_play_sound(snd_PlayerDead, 10, false);
if audio_sound_get_listener_mask(snd) != global.PlayerMask {
audio_sound_set_listener_mask(snd, global.PlayerMask);
}
이 코드는 snd_PlayerDead 사운드를 재생하고, 그 사운드의 리스너 마스크를 확인합니다. 만약 현재 리스너 마스크가 전역 변수인 global.PlayerMask와 다르면, 마스크를 업데이트합니다.
활용 및 응용 예제
1. 다양한 사운드 트리거링
여러 오디오 리스너 설정을 통해 특정 상황에서만 특정 사운드를 들리게 할 수 있습니다.
var sndJump = audio_play_sound(snd_PlayerJump, 10, false);
if audio_sound_get_listener_mask(sndJump) != global.PlayerMask {
audio_sound_set_listener_mask(sndJump, global.PlayerMask);
}
2. 다중 리스너 관리
게임에서 여러 캐릭터가 각각 다른 사운드를 받을 수 있도록 설정할 수 있습니다.
var sndBackground = audio_play_sound(snd_GameBackground, 1, true);
audio_sound_set_listener_mask(sndBackground, global.WorldMask); // 전 세계 리스너가 들을 수 있도록 설정
3. 특정 플레이어 이벤트에 반응하기
특정 플레이어 이벤트가 발생했을 때만 소리가 재생되도록 리스너를 설정할 수 있습니다.
if playerHealth <= 0 {
var sndDeath = audio_play_sound(snd_PlayerDead, 10, false);
audio_sound_set_listener_mask(sndDeath, global.PlayerMask); // 죽는 플레이어 리스너에게만 들리도록 조정
}
참고
- 관련 정보는 오디오 리스너 섹션을 참조하세요.
© Copyright YoYo Games Ltd. 2022 All Rights Reserved.