오디오 스트림 삭제하기: `audio_destroy_stream`
이 문서는 GameMaker에서 오디오 스트림을 삭제하는 방법인 audio_destroy_stream 함수에 대해 설명합니다. 이 함수를 사용하면 더 이상 필요하지 않은 오디오 스트림을 메모리에서 삭제할 수 있습니다. 아래에서 자세한 내용을 확인해 보세요.
개요
- 함수:
audio_destroy_stream - 목적: 파일로부터 만든 오디오 스트림을 메모리에서 삭제합니다.
- 결과: 스트림이 성공적으로 삭제되면 1, 실패하면 -1을 반환합니다.
사용법
해당 함수를 사용하기 전에 먼저 audio_create_stream 함수를 사용하여 오디오 스트림을 만들어야 합니다. 더 이상 해당 스트림이 필요하지 않을 경우, audio_destroy_stream을 호출하여 메모리에서 삭제할 수 있습니다.
구문
audio_destroy_stream(sound);
인자 설명
| 인자명 | 타입 | 설명 |
|---|---|---|
| sound | Sound Asset | audio_create_stream으로 반환된 사운드 자산 |
반환 값
| 반환 값 | 설명 |
|---|---|
| 1 | 스트림이 성공적으로 삭제됨 |
| -1 | 스트림 삭제 실패 (없는 스트림 등) |
예제
audio_destroy_stream(snd);
위 코드는 변수 snd에 저장된 오디오 스트림을 메모리에서 삭제합니다.
활용 및 응용 예제
- 게임 종료 시 오디오 스트림 정리 게임이 종료될 때 모든 오디오 스트림을 정리하여 메모리를 확보할 수 있습니다.
gml if (game_is_over) { audio_destroy_stream(background_music); audio_destroy_stream(sound_effect); }
- 레벨 전환 시 오디오 스트림 관리 레벨이 변경될 때 불필요한 오디오를 삭제하여 새로운 레벨의 오디오를 준비할 수 있습니다.
gml if (level_changed) { audio_destroy_stream(current_level_music); current_level_music = audio_create_stream("new_level_music"); }
- 사용자 설정에 따라 스트림 삭제 플레이어가 오디오 설정을 변경할 때 불필요한 스트림을 삭제할 수 있습니다.
gml if (user_changed_sound_setting) { audio_destroy_stream(current_sound_effect); if (user_prefers_sound) { current_sound_effect = audio_create_stream("new_sound_effect"); } }
주의 사항
audio_destroy_stream을 호출한 후, 해당 스트림에 대한 추가 호출은 오류를 발생시킵니다.- 메모리 관리는 GameMaker에서 풀 메모리를 사용하므로, 실제로 메모리에서 즉시 해제되지 않을 수 있습니다. 이후에 다른 용도로 재사용될 수 있습니다.
이것으로 audio_destroy_stream에 대한 설명을 마칩니다. 이 기능을 사용하여 귀하의 게임 오디오 관리를 효율적으로 수행하시기 바랍니다.