Sounds und Musik
Wie man Sounds und Musik in Pixi’VN mithilfe von Medien, Kanälen und dem Sound-Manager abspielt, pausiert, fortsetzt, bearbeitet und stoppt, einschließlich Fade-Übergängen und Filtern, aufgebaut auf Tone.js.
Das gesamte Audiosystem wurde in Version 1.6.0/1.8.0 überarbeitet.
Das sound-Modul ist ein Wrapper um die Bibliothek Tone.js. Es bietet eine einfache Schnittstelle zum Abspielen von Sounds und speichert den aktuellen Zustand bei jedem step.
ink
Sie können diese Methode mit der ink-Syntax verwenden. Mehr dazu hier.
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!";
},
]);Initialisierung
Es wird außerdem empfohlen, channels unmittelbar nach der Spielinitialisierung zu definieren. Dazu kannst du die Funktion sound.addChannel verwenden.
import { Game, sound } from "@drincs/pixi-vn";
Game.init(body, {
// ...
}).then(() => {
sound.addChannel("bgm", { background: true });
sound.addChannel("sfx");
sound.defaultChannelAlias = "sfx";
});Abspielen
Wenn während der play-Funktion kein channel angegeben wird, wird das media sound.defaultChannelAlias zugewiesen.
Die Grundfunktion besteht darin, einen Sound (asset) zu starten. Dies kann mit der Funktion play erfolgen. Die Funktion play erzeugt eine media-Instanz, mit der du interagieren kannst, um den erzeugten Sound zu steuern.
Übergänge
Pausieren und Fortsetzen
Es gibt verschiedene Möglichkeiten, einzelne oder mehrere media zu pausieren.
Bearbeiten
Nur media-Einstellungen werden in den Spielspeicherdateien gespeichert.
Es ist möglich, fast alle Einstellungen jederzeit für unterschiedliche Zwecke zu bearbeiten.
Stoppen
Um einen Sound zu stoppen, kannst du die Funktion stop verwenden.
Filter
Derzeit können sie nur beim Starten eines media geändert werden.
Filter sind Elemente, die eine erweiterte Anpassung von Sounds ermöglichen.