LogoPixi’VN

Personaggi

Come definire, usare e personalizzare i personaggi in Pixi’VN, inclusi archiviazione, emozioni e proprietà personalizzate.

Cosa sono i characters? I personaggi sono gli attori che appaiono in una visual novel. In Pixi’VN, i personaggi vengono creati usando la classe CharacterBaseModel o una classe personalizzata.

Inizializzazione

Per inizializzare un personaggio, crea una nuova istanza della classe CharacterBaseModel (o della tua classe personalizzata) e aggiungila al dizionario dei personaggi del gioco durante l'inizializzazione del gioco.

È consigliato importare le istanze all'avvio del progetto.

RegisteredCharacters.add è obbligatorio per salvare i personaggi nel gioco.

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]);

Ottenere

Per ottenere un personaggio tramite il suo id, usa la funzione RegisteredCharacters.get.

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

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

Ottenere tutti

Per ottenere tutti i personaggi, usa la funzione RegisteredCharacters.values.

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

const characters = RegisteredCharacters.values();

Utilizzo

ink

Puoi usare questo metodo con la sintassi ink. Vedi di più qui.

Puoi usare un personaggio del gioco, ad esempio, per collegarlo al dialogo corrente. Puoi usare l'id del personaggio o l'istanza del personaggio, ma è consigliato usare l'istanza.

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

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

Modificare

ink

Puoi usare questo metodo con la sintassi ink. Vedi di più qui.

CharacterBaseModel è una classe memorizzata, il che significa che le sue proprietà vengono salvate nell'archivio del gioco. Ad esempio, se cambi il nome del personaggio durante il gioco, il nuovo nome verrà salvato nell'archivio del gioco e collegato al suo id.

Se l'id del personaggio viene modificato da una versione all'altra, il sistema non sposterà i dati collegati al precedente id verso il nuovo id.

Per ottenere le proprietà usate durante l'istanziazione della classe, puoi usare le proprietà default.

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

Altre funzionalità

In questa pagina