Быстрый старт
Начало работы с 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.
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));<!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>html,
body {
background-color: #242424;
height: 100%;
}
body {
margin: 0;
min-height: 100vh;
display: flex;
overflow: hidden;
}