오디오 이미터 리스너 마스크 가져오기
개요
audio_emitter_get_listener_mask 함수는 음향 이미터가 소리를 재생해야 하는 오디오 리스너를 정의하는 비트 마스크 데이터를 반환합니다. 보다 자세한 내용은 오디오 리스너 섹션에서 확인할 수 있습니다.
문법
audio_emitter_get_listener_mask(emitterID);
인자
| 인자 | 타입 | 설명 |
|---|---|---|
| emitterID | Audio Emitter ID | 비트 마스크를 가져올 이미터의 고유 ID |
반환값
Real: 이미터에 대한 리스너 마스크 데이터.
예제 코드
다음 예제는 이미터를 생성한 후 리스너 마스크 데이터를 확인하고, 전역 변수와 다를 경우 그 값을 설정하는 방법을 보여줍니다.
s_emit = audio_emitter_create();
if (audio_emitter_get_listener_mask(s_emit) != global.PlayerMask) {
audio_emitter_set_listener_mask(s_emit, global.PlayerMask);
}
위 코드는 다음과 같은 작업을 수행합니다: 1. 새로운 오디오 이미터를 생성합니다. 2. 생성된 이미터의 리스너 마스크 데이터를 확인합니다. 3. 리스너 마스크가 전역 변수(global.PlayerMask)와 다를 경우, 그 값을 설정합니다.
활용 및 응용 예제
1. 여러 오디오 이미터 처리
여러 개의 오디오 이미터가 있을 때 각 이미터에 대해 리스너 마스크를 설정할 수 있습니다.
for (var i = 0; i < num_emitters; i++) {
var emitterID = audio_emitter_create();
if (audio_emitter_get_listener_mask(emitterID) != global.PlayerMask) {
audio_emitter_set_listener_mask(emitterID, global.PlayerMask);
}
}
2. 게임 상태 기반으로 리스너 마스크 변경
게임 상태에 따라 리스너 마스크를 조정하여 특정 상황에서만 소리가 나도록 할 수 있습니다.
if (gameState == "paused") {
audio_emitter_set_listener_mask(s_emit, global.PausedMask);
} else {
audio_emitter_set_listener_mask(s_emit, global.PlayerMask);
}
3. 사용자 정의 비트 마스크 사용
비트 마스크를 직접 정의하여 특정 그룹의 리스너만 특정 소리를 들을 수 있도록 할 수 있습니다.
||
||
audio_emitter_set_listener_mask(s_emit, customMask);
참고
© Copyright YoYo Games Ltd. 2022 All Rights Reserved