오디오 버퍼 해제 함수 설명
audio_free_buffer_sound 함수를 사용하면 사운드 ID와 연결된 포인터 인덱스 값을 해제할 수 있습니다. 해제된 사운드는 재생할 수 없으며, 만약 해당 사운드가 여러 번 재생되고 있다면 모든 인스턴스가 중지됩니다. 또한 버퍼 자체를 삭제하기 전에, 그와 관련된 모든 사운드 ID를 먼저 해제해야 합니다.
구문
audio_free_buffer_sound(index);
매개변수 설명
| 매개변수 | 유형 | 설명 |
|---|---|---|
| index | 정수형 | 해제할 버퍼링된 사운드의 인덱스 |
반환 값
이 함수는 값을 반환하지 않습니다.
예제
audio_free_buffer_sound(soundID);
위 코드는 "soundID"라는 변수에 인덱스가 저장된 버퍼링된 사운드를 해제합니다.
다양한 활용 및 응용 예제
예제 1: 사운드 리소스 관리
게임에서 여러 사운드를 동적으로 로드하고 해제하면서 메모리를 관리할 수 있습니다.
// 사운드 생성
var soundID = audio_create_sound("sound_file.mp3");
// 사운드 재생
audio_play_sound(soundID);
// 몇 초 후에 사운드 해제
alarm[0] = 60; // 60초 후에 해제
// 알람 이벤트에서 사운드 해제
if (alarm[0] == 0) {
audio_free_buffer_sound(soundID);
}
예제 2: 사운드 종료 및 해제
게임이 종료될 때 모든 사운드를 해제할 수 있습니다.
// 사운드의 리스트 관리
var soundList = [sound1, sound2, sound3];
// 모든 사운드 해제
for (var i = 0; i < array_length(soundList); i++) {
audio_free_buffer_sound(soundList[i]);
}
예제 3: UI 버튼 클릭 시 사운드 해제
사용자가 UI 버튼을 클릭할 때 사운드를 해제하는 사례입니다.
// 버튼 클릭 이벤트
if (mouse_check_button_pressed(mb_left)) {
audio_free_buffer_sound(currentSoundID); // 현재 재생 중인 사운드 ID 해제
}
이 예제들을 통해 사운드 관리 및 해제 방법을 이해하고 활용할 수 있습니다. 사운드를 효과적으로 관리하여 게임의 성능을 최적화하는데 기여할 수 있습니다.
© YoYo Games Ltd. 2021 모든 권리 보유.