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.
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