오디오 리스너 마스크 설정
audio_sound_set_listener_mask 함수는 특정 리스너에서만 사운드가 재생되도록 비트 마스크를 설정하는 데 사용됩니다. 이 함수를 사용하여 원하는 리스너의 비트 마스크를 생성하고, 사운드를 재생한 후 이 마스크를 적용할 수 있습니다. 이 설정은 기본 마스크나 이전에 설정한 마스크를 덮어씁니다. 이 함수는 사운드가 재생된 후에만 사용할 수 있으며, 재생한 사운드 ID가 필요합니다.
문법
audio_sound_set_listener_mask(soundID, mask);
인수 설명
| 인수 | 유형 | 설명 |
|---|---|---|
| soundID | Sound Instance ID | 마스크를 설정할 사운드의 고유 ID |
| mask | Real | 사운드에 설정할 비트 마스크 데이터 |
반환값
- N/A (없음)
사용 예제
아래 코드는 사운드를 재생한 후, 글로벌 변수에 저장된 마스크 데이터를 사용하여 리스너를 설정합니다.
var snd = audio_play_sound(snd_PlayerDead, 10, false);
audio_sound_set_listener_mask(snd, global.PlayerMask);
활용 및 응용 예제
- 멀티플레이어 환경에서 사운드 지정: 멀티플레이어 게임에서는 특정 플레이어의 사운드만 그 플레이어 주변의 리스너에게 들리도록 설정할 수 있습니다.
gml var snd = audio_play_sound(snd_PlayerHit, 10, false); audio_sound_set_listener_mask(snd, global.PlayerMask); // 현재 플레이어의 마스크 사용
- 환경에 따른 사운드 처리: 예를 들어, 특정 장소에서만 음향 효과를 발생시키고 싶다면 해당 지역의 리스너만 포함된 마스크를 설정할 수 있습니다.
gml var snd = audio_play_sound(snd_EnvironmentEffect, 10, false); audio_sound_set_listener_mask(snd, global.EnvironmentMask); // 환경 마스크 적용
- 사운드 레벨 조정: 사용자가 설정한 리스너 마스크에 따라 사운드의 볼륨 레벨을 다르게 조정할 수 있습니다.
gml var snd = audio_play_sound(snd_VolumeChange, 10, false); audio_sound_set_listener_mask(snd, global.VolumeMask); // 볼륨 변경 마스크 적용
이러한 기능을 통해 보다 구체적이고 세밀한 사운드 제어가 가능합니다.