... | ... | @@ -7,6 +7,70 @@ _Описание структуры плагинов от [Rex](https://rexrain |
|
|
# System
|
|
|
|
|
|
В данном разделе охватываются основные темы для реализации проекта, такие как Игра, Основной цикл, Сцена, Менеджер сцен, Масштабирование, Полноэкранный режим, Ориентация, Снимок, Устройство, Система плагинов и Загрузчик.
|
|
|
* Game
|
|
|
* [Game](https://rexrainbow.github.io/phaser3-rex-notes/docs/site/game/) Каждая сцена в Phaser 3 представляет собой автономную систему. Это означает, что каждая сцена имеет свой собственный набор объектов, камер, физических свойств и так далее. Это позволяет разработчикам создавать сложные игры с множеством различных уровней и сцен, каждая из которых может иметь свою уникальную механику и стиль.
|
|
|
* [Main loop](https://rexrainbow.github.io/phaser3-rex-notes/docs/site/mainloop/) Главный цикл игры в Phaser 3 управляет обновлением и отображением всех активных сцен и объектов игры. Вот последовательность действий в главном цикле:
|
|
|
|
|
|
1. Prestep Event: Событие, которое происходит перед началом обновления. Глобальные
|
|
|
менеджеры, такие как Input и Sound, обновляются в этот момент.
|
|
|
1. Step Event: Событие, в котором происходит пользовательский код и обновления плагинов.
|
|
|
1. Preupdate Event: Событие перед обновлением сцены.
|
|
|
1. Update Event: Основное событие обновления, где происходит обновление всех активных объектов игры.
|
|
|
1. Postupdate Event: Событие после обновления сцены.
|
|
|
1. Prerender Event: Событие перед началом рендеринга.
|
|
|
1. Render Event: Событие, в котором происходит рендеринг всех активных камер.
|
|
|
1. Postrender Event: Последнее событие перед повторением цикла.
|
|
|
* Scene
|
|
|
* [Scene](https://rexrainbow.github.io/phaser3-rex-notes/docs/site/scene/) Представляет основную единицу организации игрового контента. Каждая сцена может содержать свои объекты, логику и ресурсы. Вот последовательность действий в главном цикле:
|
|
|
1. key: Уникальный ключ этой сцены.
|
|
|
1. active: Начинается ли сцена как активная или нет.
|
|
|
1. visible: Начинается ли сцена как видимая или нет.
|
|
|
1. pack: Опциональный пакет загрузчика, который будет загружен перед началом сцены.
|
|
|
1. cameras: Опциональная конфигурация камеры.
|
|
|
1. physics: Конфигурация физики для сцены.
|
|
|
1. loader: Конфигурация загрузчика для сцены.
|
|
|
1. plugins: Конфигурация плагина для сцены.
|
|
|
1. input: Конфигурация ввода для сцены.
|
|
|
1. ES6 class: Вы можете определить сцену, используя синтаксис ES6 класса.
|
|
|
2. Class: Также сцена может быть определена с использованием классического синтаксиса.
|
|
|
3. Override: Вы можете переопределить методы сцены, такие как init, preload, create и update.
|
|
|
4. Flow chart: Описывает жизненный цикл сцены, такой как запуск, пауза, сон, остановка и т.д.
|
|
|
5. Start: Описывает процесс запуска сцены.
|
|
|
6. Stop: Описывает процесс остановки сцены.
|
|
|
7. Members: Перечисляет различные компоненты и ресурсы, доступные в сцене.
|
|
|
8. Events: Описывает различные события, которые могут произойти в сцене, такие как старт, пауза, обновление и т.д.
|
|
|
* [Scene manager](https://rexrainbow.github.io/phaser3-rex-notes/docs/site/scenemanager/) Предоставляет инструменты для управления, загрузки, запуска, паузы, остановки и переходов между различными игровыми сценами. Вот последовательность действий в главном цикле:
|
|
|
1. Add new scene: Вы можете добавить новую сцену, указав уникальный ключ, конфигурацию сцены, автоматический старт и дополнительные данные.
|
|
|
1. Load scene from external files: Позволяет загрузить сцену из внешних файлов.
|
|
|
1. Destroy scene: Удаляет сцену по её ключу.
|
|
|
1. Start scene: Запускает указанную сцену и выполняет её параллельно с текущей.
|
|
|
1. Pause/Resume scene: Позволяет приостановить или возобновить выполнение сцены
|
|
|
1. Run scene: Запускает указанную сцену, но не меняет состояние текущей сцены.
|
|
|
1. Stop scene: Останавливает выполнение сцены.
|
|
|
1. Set visible: Устанавливает видимость сцены.
|
|
|
1. Read status: Позволяет определить, находится ли сцена в режиме сна, паузы, активности или видимости.
|
|
|
1. Get scene: Возвращает экземпляр сцены по её ключу.
|
|
|
1. Order of scenes: Позволяет менять порядок сцен в списке.
|
|
|
1. Transition: Позволяет создать переход между сценами с различными параметрами.
|
|
|
1. Execution flow: Описывает поток выполнения при переходе между сценами.
|
|
|
1. Events: Описывает различные события, связанные с переходами между сценами.
|
|
|
1. System scene: Это стандартная пустая сцена, которая существует вне списка сцен, но может быть использована плагинами и менеджерами, которым необходим доступ к живой сцене.
|
|
|
* [Scale manager](https://rexrainbow.github.io/phaser3-rex-notes/docs/site/scalemanager/) Это инструмент для масштабирования игрового окна в Phaser, позволяющий управлять размерами игры, ориентацией экрана и переходами в полноэкранный режим. Вот последовательность действий в главном цикле:
|
|
|
1. Введение: Это инструмент для масштабирования игрового окна, встроенный метод Phaser.
|
|
|
1. Настройка: Позволяет установить режим масштабирования в конфигурации игры, указать размеры игры, минимальные и максимальные размеры, а также зум.
|
|
|
1. Изменение размера холста: Метод scene.scale.resize(width, height) позволяет изменять размер элемента холста Phaser напрямую.
|
|
|
1. Установка размера игры: Метод scene.scale.setGameSize(width, height) используется для изменения базового размера игры.
|
|
|
1. Получение видимой области: Метод scene.scale.getViewPort() возвращает прямоугольник видимой области.
|
|
|
1. События: Менеджер масштабирования генерирует различные события, такие как изменение размера.
|
|
|
1. Полноэкранный режим: Позволяет запускать игру в полноэкранном режиме, останавливать его или переключаться между режимами.
|
|
|
1. Ориентация: Генерирует события при изменении ориентации экрана (портретная или ландшафтная).
|
|
|
* [Scale outer](https://rexrainbow.github.io/phaser3-rex-notes/docs/site/scaleouter/) Позволяет прокручивать и масштабировать камеру так, чтобы стандартное игровое окно соответствовало области отображения в режиме масштабирования RESIZE. Вот последовательность действий в главном цикле:
|
|
|
1. Введение: Этот плагин позволяет прокручивать и масштабировать камеру так, чтобы стандартное игровое окно соответствовало области отображения в режиме масштабирования RESIZE.
|
|
|
1. Установка: Для использования плагина необходимо установить режим масштабирования на RESIZE и загрузить минифицированный файл плагина.
|
|
|
1. Создание экземпляра: ScaleOuter создается как член сцены для каждой сцены. По умолчанию он контролирует основную камеру.
|
|
|
1. Viewport: Плагин предоставляет внутренний и внешний видовые экраны, представляющие область стандартного размера в конфигурации игры после масштабирования/прокрутки камеры.
|
|
|
1. Ручное масштабирование: Позволяет остановить обратный вызов изменения размера и масштабировать вручную.
|
|
|
|
|
|
|
|
|
# [Loader](https://rexrainbow.github.io/phaser3-rex-notes/docs/site/loader/)
|
|
|
|
... | ... | |