오디오 트랙 위치 설정 함수 설명
audio_sound_set_track_position 함수는 특정 사운드 ID 또는 자산의 재생 위치(초 단위)를 설정합니다. 이 함수는 주어진 "index"에 따라 동작 방식이 다릅니다. 여기서는 이 함수의 동작 방식과 예제를 살펴보겠습니다.
함수 설명
함수 정의
audio_sound_set_track_position(index, time);
인자 설명
| 인자 | 유형 | 설명 |
|---|---|---|
| index | Sound Asset or Sound Instance ID | 변경할 사운드의 인덱스 |
| time | Real | 시작점을 설정할 시간(초 단위) |
- index: 사운드 인스턴스 ID 또는 사운드 자산을 입력합니다.
- time: 시작할 시간(초 단위)을 설정합니다. 사운드의 길이를 초과하는 값은 클램핑되어 해당 사운드의 길이로 제한됩니다.
동작 방식
- 고유한 사운드 ID를 사용하여 이미 재생 중인 경우, 주어진 시간으로 즉시 위치가 변경됩니다.
- 사운드 자산을 사용하는 경우, 앞으로 재생될 모든 해당 사운드는 새로운 시간에서 시작됩니다.
- 이 함수는 현재 재생 중인 사운드의 트랙 위치만 변경하며, 다음 재생에서 변경되지 않습니다. 루프가 활성화된 경우, 이후 재생은 항상 처음(0.0초)부터 시작합니다.
예제 코드
var snd = audio_play_sound(snd_MainTrack, 0, false);
audio_sound_set_track_position(snd, 32);
위 코드는 사운드를 재생하고, 반환된 핸들을 사용하여 사운드의 시작 위치를 32초로 설정합니다.
활용 및 응용 예제
1. 사운드 스냅샷 설정
게임 내 특정 이벤트에서 사운드의 시작 위치를 조정할 수 있습니다.
if (event_occurred) {
var snd = audio_play_sound(snd_EventTrack, 0, false);
audio_sound_set_track_position(snd, 10);
}
이 코드는 이벤트 발생 시 snd_EventTrack 사운드를 재생하고 10초부터 시작하도록 설정합니다.
2. 메뉴 음악 설정
메뉴로 돌아갈 때 항상 같은 지점에서 시작하도록 할 수 있습니다.
audio_sound_set_track_position(snd_MenuMusic, 60); // 60초에서 시작
audio_play_sound(snd_MenuMusic, 1, false);
이 코드는 메뉴 음악을 60초부터 재생합니다.
3. 사운드 변경 시 재시작 방지
사운드가 전환될 때 특정 위치에서 시작하게 할 수 있습니다.
if (switch_to_new_sound) {
audio_sound_set_track_position(snd_OldTrack, 45); // 45초에서 시작
audio_play_sound(snd_OldTrack, 1, false);
}
이 코드는 이전 사운드를 45초부터 재생합니다.
결론
audio_sound_set_track_position 함수는 게임 내에서 효과적으로 사운드를 제어하는 데 매우 유용합니다. 다양한 상황에서 사운드의 시작 위치를 조정하여 더 좋은 사용자 경험을 제공할 수 있습니다.
© Copyright YoYo Games Ltd. 2024 All Rights Reserved