LogoPixi’VN
ПовествованиеПовествование с JS/TS

Диалог

Как использовать, настраивать и управлять объектами диалога в Pixi’VN, включая "клей"(glue)и интеграцию с UI.

Экран UI

Пример экрана UI нарративного диалога можно найти в разделе примеры интерфейса.

Что такое диалог? Письменное произведение, в котором два или более персонажа представлены в процессе разговора.

В Pixi’VN dialogue — это объект, содержащий информацию о том, кто и что говорится в данный момент. Его функциональность может быть шире: он также может использоваться для других целей, таких как монологи, рассуждения вслух или отображение сообщений для игрока. По этой причине точнее рассматривать его как текст, который может быть связан с персонажем.

Установка

Для установки текущего диалога используйте narration.dialogue.

content/labels/start.label.ts
import { narration, newLabel } from "@drincs/pixi-vn";
import { eggHead } from "@/content/characters";

export const startLabel = newLabel("start", [
    // A simple dialogue with only text, without a character
    () => (narration.dialogue = "Hello, world!"), 
    // A dialogue with a character
    () => {
        narration.dialogue = { 
            character: eggHead, 
            text: "My name is ${eggHead.name}!", 
        }; 
    },
    // A dialogue with a character, but the character is not defined in the characters list
    () => {
        narration.dialogue = { 
            character: "Narrator", 
            text: "This is a narration without a character.", 
        }; 
    },
]);

Получение

Для получения текущего диалога используйте narration.dialogue. Возвращаемое значение — DialogueInterface.

const currentDialogue: DialogueInterface = narration.dialogue;

Удаление

Чтобы очистить текущий диалог, установите narration.dialogue в undefined.

narration.dialogue = undefined;

Пользовательский класс

Вы можете настроить интерфейс диалога, добавив дополнительные свойства в DialogueInterface. Например, можно добавить свойство color для изменения цвета текста.

Для этого «переопределите» интерфейс DialogueInterface в файле .d.ts:

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

Другие возможности

On this page