LogoPixi’VN

Charaktere

Wie man Charaktere in Pixi'VN definiert, verwendet und anpasst, einschließlich Speicherung, Emotionen und benutzerdefinierter Eigenschaften.

Was sind characters? Charaktere (characters) sind die Akteure, die in einem Visual Novel erscheinen. In Pixi'VN werden Charaktere mit der Klasse CharacterBaseModel oder einer benutzerdefinierten Klasse erstellt.

Initialisierung

Um einen Charakter zu initialisieren, erstellen Sie eine neue Instanz der Klasse CharacterBaseModel (oder Ihrer benutzerdefinierten Klasse) und fügen Sie sie beim Start des Spiels zum Charakter-Wörterbuch hinzu.

Es wird empfohlen, die Instanzen beim Projektstart zu importieren.

RegisteredCharacters.add ist erforderlich, um die Charaktere im Spiel zu speichern.

content/characters.ts
import { CharacterBaseModel, RegisteredCharacters } from "@drincs/pixi-vn";

export const liam = new CharacterBaseModel("liam", {
    name: "Liam",
    surname: "Smith",
    age: 25,
    icon: "https://example.com/liam.png",
    color: "#9e2e12",
});

export const emma = new CharacterBaseModel("emma", {
    name: "Emma",
    surname: "Johnson",
    age: 23,
    icon: "https://example.com/emma.png",
    color: "#9e2e12",
});

RegisteredCharacters.add([liam, emma]);

Abrufen

Um einen Charakter anhand seiner id abzurufen, verwenden Sie die Funktion RegisteredCharacters.get.

import { RegisteredCharacters } from "@drincs/pixi-vn";

const liam = RegisteredCharacters.get("liam");

Alle abrufen

Um alle Charaktere abzurufen, verwenden Sie die Funktion RegisteredCharacters.values.

import { RegisteredCharacters } from "@drincs/pixi-vn";

const characters = RegisteredCharacters.values();

Verwenden

ink

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

Sie können einen Spielcharakter verwenden, zum Beispiel um ihn mit dem aktuellen Dialog zu verknüpfen. Sie können die id des Charakters oder die Charakter-Instanz verwenden, es wird jedoch empfohlen, die Instanz zu verwenden.

import { liam } from "@/content/characters";

narration.dialogue = { character: liam, text: "Hello" };
// or
narration.dialogue = { character: "liam_id", text: "Hello" };

Bearbeiten

ink

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

CharacterBaseModel ist eine gespeicherte Klasse, was bedeutet, dass ihre Eigenschaften im Spielspeicher gesichert werden. Wenn Sie beispielsweise den Namen des Charakters während des Spiels ändern, wird der neue Name im Spielspeicher gespeichert und mit seiner id verknüpft.

Wenn die id des Charakters von einer Version zur anderen geändert wird, wird das System die mit der vorherigen id verknüpften Daten nicht zur neuen id verschieben.

Um die bei der Instanziierung der Klasse verwendeten Eigenschaften abzurufen, können Sie die default-Eigenschaften verwenden.

import { liam } from "@/content/characters";
console.log(liam.name); // Liam
liam.name = "Liam Smith";
console.log(liam.name); // Liam Smith

Weitere Funktionen

Auf dieser Seite