LogoPixi’VN

사운드와 음악

Tone.js를 기반으로 하는 Pixi’VN에서 media, channels, sound 매니저를 사용해 사운드와 음악을 재생, 일시정지, 재개, 편집, 정지하는 방법과 페이드 전환 및 필터에 대해 설명합니다.

전체 오디오 시스템은 1.6.0/1.8.0 버전에서 개편되었습니다.

sound 모듈은 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!";
    },
]);

Initialize

게임 초기화 직후 channels를 정의하는 것도 권장됩니다. To do this, you can use the sound.channels.add function.

main.ts
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이 지정되지 않으면, mediasound.defaultChannelAlias에 할당됩니다.

기본 기능은 사운드(asset)를 시작하는 것입니다. 이는 play 함수를 사용하여 수행할 수 있습니다. play 함수는 생성된 사운드를 제어하기 위해 상호작용할 수 있는 media 인스턴스를 생성합니다.

전환

일시정지와 재개

개별 또는 여러 media를 일시정지하는 다양한 방법이 있습니다.

편집

media 설정만 게임 세이브 파일에 저장됩니다.

다양한 목적을 위해 거의 모든 설정을 언제든지 편집할 수 있습니다.

정지

사운드를 정지하려면 stop 함수를 사용할 수 있습니다.

필터

현재는 media를 시작할 때만 수정할 수 있습니다.

필터는 사운드의 고급 커스터마이징을 가능하게 하는 요소입니다.

기타 기능

이 페이지에서