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
.
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
}
}
Colla di dialogo
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.
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.