Phaser 4 Encyclopedia

2D-разработка на Phaser глазами веб-программиста

Phaser 4 — это игровой фреймворк на чистом JavaScript/TypeScript, который работает прямо в браузере. Никакого отдельного движка и C#: знакомый стек, npm, WebGL под капотом. Здесь — концепции, гайды и запускаемые примеры с песочницами.

Старт

Концепции

02.01
Основные концепции

Ментальная модель, лежащая в основе Phaser 4 — для чего нужна каждая подсистема и как они сочетаются друг с другом.

02.02
Игровой цикл

Как Phaser 4 планирует update и render, что означает delta и как писать код, независимый от частоты кадров.

02.03
Сцены

Единица «экрана» или «режима» в Phaser — жизненный цикл, параллельные сцены и передача данных.

02.04
Игровые объекты

Сохраняемый (retained-mode) список отображения — что такое игровые объекты, как работает иерархия трансформаций и когда какой встроенный тип использовать.

02.05
Камеры

Вьюпорты, прокрутка, масштабирование, следование и эффекты — как Phaser решает, что и где отрисовывать.

02.06
Ввод

Клавиатура, указатель (мышь + касания) и геймпад — и то, как Phaser направляет события игровым объектам.

02.07
Загрузчик и ресурсы

Как работает конвейер ресурсов — постановка в очередь в preload, типизированный кеш и шаблоны для больших игр.

Гайды

03.01
Гайды

Практические рецепты для систем, которые вы действительно будете использовать — физика, тайлмапы, анимация, аудио, частицы, шейдеры и плагины.

03.02
Физика Arcade

Быстрая AABB-физика для платформеров, шутеров и большинства аркадных игр — тела, столкновения, группы и подводные камни, на которые натыкаются новички.

03.03
Физика Matter

Полноценная симуляция твёрдых тел для укладки стопкой, соединений, составных тел и всего, что не может смоделировать Arcade.

03.04
Тайлмапы

Загрузка карт Tiled в формате JSON, отрисовка слоёв, построение столкновений и изменение тайлов во время выполнения.

03.05
Анимация

Покадровые анимации из спрайт-листов и атласов — определение, воспроизведение, объединение в цепочки и реакция на события анимации.

03.06
Твины

Система твинов Phaser 4 — интерполяция любого числового свойства во времени. Цели, функции плавности (easing), цепочки, твины значений и подводные камни.

03.07
Аудио

Интеграция Web Audio в Phaser 4 — музыка против звуковых эффектов, разблокировка по жесту пользователя, микширование и пространственный звук.

03.08
Частицы

Эмиттер частиц — типичные эффекты, анатомия конфигурации и компромиссы производительности, которые действительно важны.

03.09
Шейдеры

Собственные WebGL-эффекты в Phaser 4 — встроенная библиотека фильтров (Filter), свой GLSL через игровой объект Shader и место RenderNodes во всём этом.

03.10
Плагины

Создание и использование плагинов Phaser 4 — три формы плагинов (глобальный, сценический, игрового объекта) и разобранный пример системы сохранения.

03.11
Переходы между сценами

API `scene.transition()` — анимированная передача управления между сценами с одновременной работой обеих сцен в момент наложения.

Примеры

04.01
Примеры

Запускаемые примеры Phaser 4 — каждый представляет собой изолированную песочницу, которую можно прочитать, форкнуть и изменить.

04.02
Базовый спрайт

Минимально возможный пример Phaser 4 — загрузить текстуру и однократно её отрисовать.

04.03
Движение клавиатурой

Перемещение спрайта на WASD или стрелках с опросом ввода каждый кадр и скоростью на основе delta-time.

04.04
Переход между сценами

Затухание между двумя сценами через API fade-out / fade-in камеры.

04.05
Цепочка твинов

Выстроить последовательность эффектов-твинов на одном объекте — перемещение, вращение, затухание, сброс, цикл.

04.06
Реакция на столкновение

Клик в любом месте создаёт физический шарик — шарики сталкиваются друг с другом и с границами мира.

04.07
Залп частиц

Клик в любом месте запускает однократный взрыв через режим explode эмиттера частиц.

04.08
Пересечение в физике (подбираемые предметы)

Заходите в звёзды, чтобы собирать их — канонический паттерн «пересечение как триггер» с подсчётом очков.

04.09
Шейдерный фильтр (Glow)

Применить встроенный фильтр Glow к спрайту и анимировать его силу твином.

Глоссарий