LogoPixi’VN

Быстрый старт

Начало работы с Pixi’VN

Вы можете начать использовать Pixi’VN, инициализировав новый проект или установив пакет в существующий проект.

Предварительные требования

Перед началом работы необходимо установить следующие инструменты:

  • Node.js версии 18 или выше.
  • Текстовый редактор с поддержкой TypeScript, например:
  • (Рекомендуется) Git
    • Аккаунт GitHub — вы сможете использовать Copilot (ИИ-ассистент), автоматическую генерацию пакетов для распространения и добавлять комментарии в вики

Инициализация проекта

Если вы хотите начать с нового проекта, используйте следующую команду для инициализации нового проекта с шаблонами Pixi’VN:

npm create pixi-vn@latest

Список доступных шаблонов и интерактивные демонстрации можно посмотреть здесь.

После инициализации проекта откройте директорию проекта в текстовом редакторе (рекомендуется VSCode) и приступайте к разработке.

Установка

Для установки пакета Pixi’VN в существующий JavaScript-проект используйте одну из следующих команд:

npm install @drincs/pixi-vn

Инициализация

Перед использованием движка Pixi’VN необходимо инициализировать игру. Это делается с помощью вызова метода Game.init.

src/main.tsx
import { Game } from "@drincs/pixi-vn";

const body = document.body;
if (!body) {
    throw new Error("body element not found");
}

Game.init(body, {
    height: 1080,
    width: 1920,
    backgroundColor: "#303030",
}).then(() => {
    // ...
    Game.start("start", {});
});

// read more here: https://pixi-vn.web.app/start/other-narrative-features.html#how-manage-the-end-of-the-game
Game.onEnd(async (props) => {
    Game.clear();
    // navigate to main menu
});

Game.addOnError((error, props) => {
    console.error(`Error occurred`, error);
});

Game.onNavigate((path) => navigateTo(path));
index.html
<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Game</title>
    </head>
    <body>
        <div id="root"></div>
        <script type="module" src="/src/main.ts"></script>
    </body>
</html>
styles.css
html,
body {
    background-color: #242424;
    height: 100%;
}

body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    overflow: hidden;
}

On this page