사운드와 음악
미디어, 채널, 사운드 관리자를 사용하여 Pixi’VN에서 사운드와 음악을 재생, 일시정지, 재개, 편집, 정지하는 방법으로, 페이드 전환과 필터를 포함하며 Tone.js를 기반으로 합니다.
전체 오디오 시스템이 1.6.0/1.8.0 버전에서 개정되었습니다.
사운드 모듈은 Tone.js 라이브러리를 감싸는 래퍼입니다. 이는 사운드 재생을 위한 간단한 인터페이스를 제공하며, 각 내러티브 단계 (step)마다 현재 상태를 저장합니다.
ink
이 메서드는 ink 문법과 함께 사용할 수 있습니다. 더 알아보려면 여기를 참고하세요.
import { narration, newLabel, sound } from "@drincs/pixi-vn";
export const startLabel = newLabel("start", [
async () => {
await sound.play("sfx_whoosh", { delay: 0.1 });
await sound.play("bgm_cheerful", { loop: true, channel: "bgm" });
narration.dialogue =
"Hello, I'm a cheerful background music that will loop forever until you stop me.";
},
() => {
sound.pause("bgm_cheerful");
narration.dialogue = "I'm paused, but I can be resumed.";
},
() => {
sound.resume("bgm_cheerful");
narration.dialogue = "I'm back!";
},
]);초기화
게임 초기화 직후 channels를 정의하는 것도 권장됩니다. 이를 위해 sound.channels.add 함수를 사용할 수 있습니다.
import { Game, sound } from "@drincs/pixi-vn";
Game.init(body, {
// ...
}).then(() => {
sound.channels.add("bgm", { background: true });
sound.channels.add("sfx");
sound.defaultChannelAlias = "sfx";
});재생
play 함수 실행 중 channel이 지정되지 않으면, media는 sound.defaultChannelAlias에 할당됩니다.
기본적인 기능은 사운드(asset)를 시작하는 것입니다. 이는 play 함수를 사용하여 수행할 수 있습니다. play 함수는 생성된 사운드를 제어하기 위해 상호작용할 수 있는 media 인스턴스를 생성합니다.
전환
일시정지와 재개
개별 또는 여러 media를 일시정지하는 다양한 방법이 있습니다.
편집
게임 세이브 파일에는 media 설정만 저장됩니다.
다양한 목적을 위해 거의 모든 설정을 언제든지 편집할 수 있습니다.
정지
사운드를 정지하려면 stop 함수를 사용할 수 있습니다.
필터
현재는 미디어를 시작할 때만 수정할 수 있습니다.
필터는 사운드의 고급 커스터마이징을 가능하게 하는 요소입니다.