LogoPixi’VN
Narration/Narration with JS/TS

Dialogo

Come utilizzare, personalizzare e gestire gli oggetti di dialogo in Pixi'VN, inclusa l'integrazione di glue e UI.

Cos'è un dialogo? Una composizione scritta in cui due o più personaggi sono rappresentati mentre conversano.

In Pixi’VN, il dialogue è un oggetto che contiene informazioni su chi e cosa viene detto in quel momento. La sua funzionalità può essere più ampia, in quanto può essere utilizzato anche per altri scopi, come monologhi, soliloqui o per mostrare un messaggio al giocatore. Per questo motivo è più appropriato considerarlo come un testo che può essere collegato ad un personaggio.

Set

Per impostare il dialogo corrente, puoi usare narration.dialogue.

labels/startLabel.ts
import { narration, newLabel } from "@drincs/pixi-vn"
import { eggHead } from "../values/characters"

// What is a Label? https://pixi-vn.web.app/start/labels.html
export const startLabel = newLabel("start_label",
    [
        () => {
            // in this example, not exists a character with id 'Alice'
            // so when you get the current dialogue, the character is a fake character with the name 'Alice'
            narration.dialogue = { 
                character: "Alice", 
                text: "Hello, world!"
            } 
        },
        () => {
            // in this example, exists a character with id 'egg-head'
            // so when you get the current dialogue, the character is the character with id 'egg-head'
            narration.dialogue = { 
                character: 'egg-head', 
                text: "Hello, world!"
            } 
            // or better
            narration.dialogue = { 
                character: eggHead, 
                text: "Hello, world!"
            } 
        },
        // if don't want to set a character, you can set a string
        () => narration.dialogue = "Hello, world!", 
    ],
)

Ottieni

Per ottenere il dialogo corrente, utilizzare narration.dialogue. Il valore restituito è una DialogueInterface.

const currentDialogue: DialogueInterface = narration.dialogue;

Delete

Per cancellare il dialogo corrente, imposta narration.dialogue = undefined.

narration.dialogue = undefined;

Classe personalizzata

È possibile personalizzare l'interfaccia di dialogo aggiungendo ulteriori proprietà a DialogueInterface. Ad esempio, è possibile aggiungere la proprietà color per modificare il colore del testo.

Per fare ciò, "sovrascrivi" l'interfaccia DialogueInterface nel tuo file .d.ts:

declare module '@drincs/pixi-vn' {
    interface DialogueInterface {
        color?: string
    }
}

Dialogue glue is a feature originally created for ink, which was also introduced in Pixi’VN.

Se la funzione "glue" è abilitata, il dialogo successivo verrà aggiunto dopo quello corrente.

labels/startLabel.ts
import { narration, newLabel } from "@drincs/pixi-vn";

const startLabel = newLabel("start", [
    () => {
        narration.dialogue = `Hello, my name is Alice and ...`
    },
    () => {
        narration.dialogGlue = true
        narration.dialogue = `I am a character in this game.`
    },
])

Come creare la schermata dell'UI del dialogo narrativo

This documentation has been moved here.