오디오 사운드 자산 가져오기
audio_sound_get_asset 함수는 주어진 사운드 인스턴스 ID로 사용된 사운드 자산을 반환합니다. 이 함수는 사운드가 현재 재생 중일 때만 올바른 값을 반환하며, 그렇지 않으면 치명적인 오류를 발생시킵니다.
문법
audio_sound_get_asset(index);
인수
| 인수 | 유형 | 설명 |
|---|---|---|
| index | Sound Instance ID | audio_play_sound 및 유사한 함수에서 반환된 사운드 인스턴스 |
반환 값
- 사운드 자산 또는
undefined
예제
사운드 재생 및 자산 가져오기
아래의 예제에서는 Create 이벤트에서 사운드를 재생하고, Key Press - Space 이벤트에서 해당 사운드 인스턴스의 자산을 가져옵니다.
// Create 이벤트
sound = audio_play_sound(Sound1, 1, 0);
// Key Press - Space 이벤트
var _asset = audio_sound_get_asset(sound);
if (audio_exists(_asset)) {
audio_play_sound(_asset, 1, 0);
}
이 예제에서는 Create 이벤트에서 사운드를 재생하며, 그 사운드 인스턴스를 변수에 저장합니다. 이후 Key Press - Space 이벤트에서 저장된 사운드 인스턴스의 자산을 가져옵니다. 유효한 사운드 자산이 반환되면, 동일한 사운드 자산을 사용하여 또 다른 사운드를 재생합니다. 이렇게 함으로써 이 함수가 반환하는 사운드 자산을 재사용할 수 있습니다.
다양한 활용 및 응용 예제
1. 사운드 재생 상태 확인 후 재생
var soundInstance = audio_play_sound(Sound1, 1, 0);
var asset = audio_sound_get_asset(soundInstance);
if (audio_exists(asset)) {
// 다른 사운드를 동일한 자산으로 재생하기 전에 기존 사운드가 중지되었는지 확인
audio_stop(soundInstance);
audio_play_sound(asset, 1, 0); // 자산을 사용하여 새 사운드 재생
}
2. 충돌 시 사운드 재생
// 충돌 이벤트에서 사운드 재생
var coll_sound = audio_play_sound(Sound_collision, 1, 0);
var asset_collision = audio_sound_get_asset(coll_sound);
// 사운드 자산이 유효한지 확인
if (audio_exists(asset_collision)) {
audio_play_sound(asset_collision, 1, 0); // 같은 사운드 재생
}
3. 게임 종료 시 사운드 재생
// 게임 종료 이벤트
var end_sound = audio_play_sound(Sound_game_over, 1, 0);
var asset_end = audio_sound_get_asset(end_sound);
if (audio_exists(asset_end)) {
audio_play_sound(asset_end, 1, 0); // 잔여 사운드 재생
}
이 문서에서는 audio_sound_get_asset 함수를 활용하여 사운드 자산을 가져오는 방법과 그 응용 예제를 살펴보았습니다. 사운드 인스턴스의 상태를 확인하고, 재사용할 수 있는 방법을 통해 게임의 사운드 관리에서 유용하게 사용할 수 있습니다.
© Copyright YoYo Games Ltd. 2024 All Rights Reserved