오디오 재생 방법
이 문서에서는 주어진 소리를 재생하는 방법에 대해 설명하고, 소리 설정에 대한 다양한 옵션과 함께 몇 가지 예제를 제공합니다.
기본 설명
이 액션은 주어진 소리를 재생합니다. 소리는 자산 탐색기(Asset Explorer)에서 선택할 수 있으며, 소리가 반복(loop)될지 여부를 설정할 수 있습니다. 반복되는 소리는 시작과 끝 지점 사이에서 계속해서 재생됩니다.
또한, 다음과 같이 소리의 추가 속성을 설정할 수 있습니다:
- Gain: 소리의 볼륨
- Offset: 재생을 시작할 트랙 위치(초 단위)
- Pitch: 소리의 음조
소리를 재생할 때 최종 Gain과 Pitch 값은 소리 자산에 설정된 값과 곱해줍니다. Offset 값은 "Offset" 칸에 입력한 값입니다. 이 필드가 비어 있으면 소리 자산의 기본 Offset 값이 사용됩니다.
액션 구문 및 인자
액션 구문
audio_play(sound, loop, target, gain, offset, pitch)인자 설명
| 인자 | 설명 |
|---|---|
| Sound | 재생할 소리 자산 |
| Loop | 소리를 반복할지 여부 (기본값: 꺼짐) |
| Target | 반환 값을 저장할 대상 변수 |
| Gain | Gain 배수 값 (기본값: 1) - 여기 설정한 Gain은 소리 자산의 Gain과 곱해집니다. |
| Offset | 시작 지점을 설정할 시간(초 단위, 기본값: 0) - 소리의 길이를 초과할 경우 길이에 맞춰집니다. |
| Pitch | Pitch 배수 (기본값: 1) - 여기 설정한 Pitch는 소리 자산의 Pitch와 곱해집니다. |
예제
예제 1
아래 예제 코드는 마우스 버튼 클릭을 감지하고, 글로벌 변수가 true가 아닐 경우 소리를 재생합니다. 소리는 루프되며, 글로벌 변수는 true로 설정됩니다. 만약 글로벌 변수가 이미 true라면 소리가 멈추고 글로벌 변수는 false로 설정됩니다.
if (mouse_check_button_pressed(mb_left)) {
if (!global.music_playing) {
audio_play(snd_Sample, true, global.music_playing, 1, 0, 1);
global.music_playing = true;
} else {
audio_stop(snd_Sample);
global.music_playing = false;
}
}
예제 2
아래 예제 코드는 소리 자산 "snd_MusicBoss"의 트랙 위치를 20초로 설정합니다. 그리고 인스턴스 변수 "skip_intro"가 true인지 확인합니다. 만약 true라면, 20초에서 소리를 재생합니다 (이때 "Offset" 필드는 비어 있으므로 기본 Offset이 사용됩니다). 따라서 처음 20초는 건너뛰어집니다.
audio_play(snd_MusicBoss, false, instance_variable, 1, 20, 1);
만약 인스턴스 변수 "skip_intro"가 false라면, Offset 값이 0으로 설정되어 소리는 처음부터 재생됩니다. 이 경우 20초의 트랙 위치는 무시됩니다.
결론
이 문서에서는 소리 재생을 위한 액션에 대해 설명했습니다. 여러 가지 설정 옵션과 함께 예제를 통해 이해를 도왔습니다. 이 기능을 통해 다양한 오디오 효과를 구현할 수 있으니, 필요에 따라 조정하여 사용하시기 바랍니다.
© Copyright YoYo Games Ltd. 2023 All Rights Reserved ```