Commercial license. No free support. Do not open GitHub issues or PRs — they will be closed.
See LICENSE for terms.
- PixiJS 8.1.5 - 2D WebGL игровая графика
- MobX 6.12.3 - Управление состоянием
- TypeScript 5.4.5 - Типизация
- Vite 5.2.12 - Сборщик и dev server
# Установка зависимостей
npm install
# Запуск в режиме разработки
npm run dev
# Сборка для продакшена
npm run build
# Предпросмотр production версии
npm run serve
# Линтинг
npm run lint
# Тесты
npm run testGame/
├── src/
│ ├── main.ts # Точка входа
│ ├── preloader/ # Прелоадер
│ │
│ └── game/
│ ├── index.ts # Загрузчик игры
│ │
│ ├── ui/ # UI компоненты (Vanilla)
│ │ ├── Joystick.ts # Джойстик
│ │ └── Joystick.css
│ │
│ ├── pixi/ # PixiJS
│ │ ├── index.ts
│ │ └── scenes/
│ │ ├── BaseGameSprite.ts
│ │ ├── GameScene.ts
│ │ └── AIPlayer.ts
│ │
│ └── store/ # MobX stores
│ ├── index.ts
│ ├── joystick.ts # Джойстик store
│ ├── game.ts
│ ├── ai.ts
│ └── preloaderStore.ts
│
├── index.html
├── package.json
└── vite.config.ts
Проект включает полнофункциональный джойстик на чистом TypeScript:
import { Joystick } from './game/ui/Joystick';
const joystick = new Joystick({
container: document.getElementById('uiRoot')!,
onVectorChange: (vector) => {
console.log(vector); // { x, y, force }
}
});- Быстрый старт:
QUICK_START.md - Полная интеграция:
JOYSTICK_INTEGRATION.md - Миграция без React:
MIGRATION_NO_REACT.md - Структура файлов:
JOYSTICK_STRUCTURE.md - Список изменений:
JOYSTICK_CHANGES.md
- ✅ Универсальная поддержка ввода (Pointer/Touch/Mouse)
- ✅ Адаптивный дизайн для всех устройств
- ✅ Интеграция с MobX для реактивности
- ✅ Визуальные эффекты и анимации
- ✅ Вибрация на поддерживаемых устройствах
- ✅ Полностью типизированный (TypeScript)
- ✅ GameScene с поддержкой джойстика
- ✅ AIPlayer с управлением
- ✅ BaseGameSprite для общей логики
- ✅ Централизованное управление состоянием
- ✅ Реактивные обновления
- ✅ JoystickStore для джойстика
- ✅ GameStore для игровых объектов
- ✅ AIStore для AI логики
pixi.js- WebGL рендерингmobx- Управление состояниемtypescript- Типизацияvite- Сборка
eslint- Линтингjest- Тестированиеunplugin-swc- Быстрая компиляцияvite-plugin-compression- Сжатие для продакшена
npm run dev # Запуск dev сервера (порт 3000)
npm run build # Сборка для продакшена
npm run serve # Предпросмотр production сборки
npm run lint # Проверка кода
npm run test # Запуск тестов- ✅ Desktop (Chrome, Firefox, Safari)
- ✅ Mobile iOS (Safari)
- ✅ Mobile Android (Chrome)
- ✅ Планшеты
- ✅ Touch screens
- ✅ Mouse/Keyboard
Production build:
├── index.js ~110 KB (gzipped: ~40 KB)
├── vendor.js ~50 KB (gzipped: ~18 KB)
└── assets ~2 KB
Total: ~162 KB (gzipped: ~60 KB)
- FPS: 60 стабильно
- Время загрузки: < 1 сек (с кешем)
- Размер bundle: ~160 KB
- Memory usage: < 50 MB
Commercial license. См. LICENSE файл.
Версия: 1.0.0
Дата: 14 октября 2025