PhaserPhaser — это фреймворк для 2D-игр, используемый для создания игр HTML5 для компьютеров и мобильных устройств[1]. Это бесплатное программное обеспечение, разработанное Photon Storm[2]. Phaser использует внутренние средства визуализации Canvas и WebGL и может автоматически переключаться между ними в зависимости от поддержки браузера. Это обеспечивает быстрый рендеринг на компьютерах и мобильных устройствах. Он использует библиотеку Pixi.js для рендеринга. Игры можно развернуть на iOS, Android и в нативных приложениях для компьютера с помощью сторонних инструментов, таких как Apache Cordova и phonegap[3]. ИсторияРичард Дэйви объявил о первом релизе Phaser в своем блоге в апреле 2013 года[4]. В сентябре была выпущена версия 1.0, включающая библиотеку Pixi.js для рендеринга[5]. Последней официальной версией Phaser 2 была 2.6.2, но для улучшения стабильной версии во время работы над Phaser 3 был создан новый репозиторий: Phaser CE (Community Edition)[6]. Таким образом, Phaser CE в настоящее время является рекомендуемой стабильной платформой для разработки с использованием Phaser. Phaser 3.0.0 был выпущен 13 февраля 2018 г., и разработка до сих пор продолжается на GitHub[7]. Большинство элементов и функций платформы были построены с нуля с использованием полностью модульной структуры и подхода, ориентированного на данные. Phaser 3 появился совершенно новый пользовательский рендерер WebGL, разработанный для современных 2D-игр. С тех пор большая часть документации и примеров для пользователей была завершена, и реализовано большинство функций. В настоящее время в разработке находится Phaser 4, анонсированный 19 августа 2019 года, который представляет собой попытку переписать Phaser 3 на TypeScript. Это не переписывание API, а вместо этого он будет сосредоточен на переносе скриптов, находящихся в настоящее время в Phaser 3, на TypeScript[8]. Архитектура и особенностиPhaser может работать в любом веб-браузере, поддерживающем элемент canvas . Игры, созданные с помощью Phaser, разрабатываются либо на JavaScript, либо на TypeScript. Веб-сервер необходим для загрузки таких ресурсов, как изображения, аудио и другие игровые файлы, поскольку браузеры требуют, чтобы веб-страницы имели доступ к файлам только из одного источника[9]. РендерингPhaser может рендериться либо в WebGL, либо в элементе Canvas с возможностью использования WebGL, если браузер поддерживает его. Если устройство его не поддерживает, он вернется к использованию Canvas. ФизикаВ Phaser доступны три физические системы: Arcade Physics, Ninja Physics и P2.JS. Arcade Physics предназначена только для высокоскоростных столкновений AABB. Ninja Physics позволяет использовать сложные плитки и склоны, которые подходят для ландшафта уровня, и P2. JS — это система физики всего тела, которая среди прочего поддерживает препятствия, пружины и полигоны. Начиная с Phaser версии 3.6, имеется 2 основных физических движка, а именно Arcade и Matter. Также имеется менее известных движок схожий с Arcade- Impact. Arcade можно считать наиболее используемым, поскольку он самый простой и быстрый. Он использует выровненные по оси прямоугольники и круги для определения столкновений, помимо всех остальных функций движка, таких как гравитация, акселерация и сопротивление. Однако он также обладает ограничениями. Например будет затруднительно выполнить сложные хитбоксы, исходя из допустимых фигур. Также объекты находящиеся в непосредственной близости друг от друга могут вызвать проблемы со стабильностью. В свою очередь Matter является наиболее продвинутым, что и делает его сложнее исходя из объема дополнительных функций. Он способен передавать полноценную и реалистичную физику тела. Он также поддерживает множество функций: твердые и составные тела, упругие столкновения, а также физические свойства, такие как масса и плотность. Impact схож с Arcade однако имеет ряд преимуществ. Например он поддерживает наклоны на tilemaps, что невозможно в условиях прямоугольной физики Arcade. Однако для этого вам придется использовать редактор "Weltmeister" от создателя движка Impact. Анимация и аудиоВ Phaser анимацию можно создать, загрузив спрайт-лист, текстурный атлас и создав последовательность анимации. Веб-аудио и аудио HTML5 можно использовать для воспроизведения звука в Phaser. Смотрите такжеИсточники
Внешние ссылки
Information related to Phaser |