LogoPixi’VN
NarrationNarration with JS/TS

Auswahlmenüs

Erklärt, wie interaktive Auswahlmenüs in Pixi’VN implementiert und angepasst werden können, sodass Spieler Entscheidungen treffen können, die die Geschichte beeinflussen.

UI-Bildschirm

Ein Beispiel des Auswahlmenü-UI-Bildschirms finden Sie im Abschnitt Schnittstellenbeispiele.

ink

Sie können diese Methode mit der ink-Syntax verwenden. Mehr erfahren Sie hier.

In Visual Novels ermöglichen Auswahlmenüs dem Spieler, Entscheidungen zu treffen, die die Geschichte beeinflussen.

In Pixi’VN können Sie den Spieler auffordern, eine Wahl zu treffen. Jede Wahl kann entweder ein label starten oder das Auswahlmenü schließen.

Den Spieler zu einer Wahl auffordern

Um den Spieler zu einer Wahl zu zwingen, setzen Sie narration.choices auf ein Array von StoredChoiceInterface. Um ein StoredChoiceInterface-Objekt zu erstellen, verwenden Sie:

content/labels/start.label.ts
import {
    newChoiceOption,
    newCloseChoiceOption,
    narration,
    newLabel,
} from "@drincs/pixi-vn";

export const startLabel = newLabel("start", [
    async () => {
        narration.dialogue = "Choose a fruit:";
        narration.choices = [
            newChoiceOption("Orange", orangeLabel, {}), // by default, the label will be called with "call"
            newChoiceOption("Banana", bananaLabel, {}, { type: "jump" }), 
            newChoiceOption(
                "Apple", 
                appleLabel, 
                { quantity: 5 }, 
                { type: "call" }, 
            ), 
            newCloseChoiceOption("Cancel"), 
        ]; 
    },
    () => {
        narration.dialogue = "Restart";
    },
    async (props) => await narration.jump("start", props),
]);

Abrufen

Um das aktuelle Auswahlmenü abzurufen, verwenden Sie narration.choices. Dies gibt ein Array von StoredChoiceInterface zurück.

const menuOptions: StoredChoiceInterface[] = narration.choices;

Anfragen

Um eine Wahl auszuwählen, verwenden Sie narration.selectChoice.

const item = narration.choices![0]; // get the first item

narration
    .selectChoice(item, {
        // Add StepLabelProps here
        navigate: navigate, // example
        // And the props to pass to the label
        ...item.props,
    })
    .then(() => {
        // ...
    })
    .catch((e) => {
        // ...
    });

Entfernen

Um die Auswahloptionen zu löschen, setzen Sie narration.choices = undefined.

narration.choices = undefined;

Weitere Funktionen

Auf dieser Seite