Phaser

от Уикипедия, свободната енциклопедия
Phaser
Информация
Видсофтуерна рамка
РазработчикРичард Дейви
Начална версия12 април 2013 г.;
преди 11 години
 (2013-04-12)
ЛицензMIT лиценз
Уебсайтphaser.io

Phaser е рамка за създаване на двуизмерни HTML5 игри за десктоп и мобилни устройства.[1] Това е свободен софтуер, разработен от Photon Storm.[2]

Phaser използва технологиите Canvas и WebGL и може автоматично да превключва между тях въз основа на поддръжката на браузъра. Това позволява бързо изобразяване на настолен компютър и мобилно устройство. Използва и библиотеката Pixi.js.

История[редактиране | редактиране на кода]

Ричард Дейви обявява първото издание на Phaser в публикация в блог през април 2013 г.[3] Версия 1.0 е пусната през септември и включва библиотеката Pixi.js.[4]

Phaser 3.0.0 е пуснат на 13 февруари 2018 г.[5] Повечето елементи и функции на рамката са изградени от нулата, като се използва изцяло модулна структура и подход, ориентиран към данни. Phaser 3 включва чисто нов персонализиран WebGL рендър, предназначен за модерни 2D игри. Оттогава голяма част от документацията и примерите за потребителите са завършени и повечето функции са внедрени.

На 19 август 2019 г. е обявен Phaser 4, който е опит за пренаписване на Phaser 3 в TypeScript.[6]

Основната структура на проект за HTML5 игра[редактиране | редактиране на кода]

Проектът за HTML5 игра обикновено се състои от следните папки и файлове:

  1. Scripts/ (или js/) : В тази папка се намира основният файл на рамката, който обикновено се нарича Phaser.js. Съдържа файл с кода на играта, който използва рамката.
  2. Src/ : Тази папка е предназначена за съхраняване на изходни файлове. Тези файлове в крайна сметка ще бъдат компилирани, за да се създаде пълният код на играта.
  3. Assets/ : В тази папка има различни подпапки:
    • Images : Съдържа графични файлове.
    • Maps : Съдържа данни, необходими за 2D играта.
    • Sounds : Това е мястото, където се съхраняват звуковите ефекти за играта, често в множество формати.
    • Music : Съдържа музиката за играта.
    • Misc : Тук се съхраняват различни данни като диалогови файлове, скриптове за изпълнение и други специални файлове.
  4. Index.html : Този файл служи като начална точка за играта. Той настройва играта и инициализира процеса на зареждане. JavaScript обработва взаимодействията след първоначалната настройка. Този html файл може също да включва основен стил за позициониране на играта на уеб страницата и създава потребителски интерфейс (UI) около нея.[7]

Архитектура и характеристики[редактиране | редактиране на кода]

Phaser може да работи във всеки уеб браузър, който поддържа елемента canvas. Игрите, направени с Phaser, се разработват или на JavaScript, или на TypeScript. Необходим е уеб сървър за зареждане на ресурси като изображения, аудиозаписи и други файлове с игри, тъй като браузърите изискват уеб страниците да имат достъп до файлове само от същия произход.[8]

Phaser може да работи с WebGL или елемента canvas, с опция за използване на WebGL, ако браузърът го поддържа, или ако дадено устройство не го поддържа, ще се върне обратно към canvas.

Физика[редактиране | редактиране на кода]

Phaser се доставя с 3 физически системи: Arcade Physics, Ninja Physics и P2.JS.

От Phaser 3.6 има два основни физически двигателя. Те се наричат Arcade и Matter. Има и по-малко известен двигател, подобен на Arcade, наречен Impact.

Arcade е може би най-използваният от трите, тъй като е бърз и лесен за използване. Той използва подравнени по ос (не завъртяни) правоъгълници и кръгове за откриване на сблъсък върху всички основни функции на физическия двигател като гравитация, ускорение и съпротивление. Недостатъкът му са ограничените възможности.

Matter е по-усъвършенстваният, но неговата сложност също се повишава с добавените функции. Той е в състояние да симулира много реалистична физика на цялото тяло. Поддържа множество функции като твърди, сложни и съставни тела, стабилно подреждане и физически свойства като маса и плътност.

Impact много прилича на Arcade, но има някои предимства.

Източници[редактиране | редактиране на кода]

  1. Phaser - JavaScripting // www.javascripting.com.
  2. How to Learn the Phaser HTML5 Game Engine // gamedevelopment.tutsplus.com.
  3. Announcing Phaser (Flixel HTML5) and our Adobe Max session // www.photonstorm.com.
  4. Phaser 1.0 and the journey we took to get there // www.photonstorm.com.
  5. Phaser - The fast, fun and free HTML5 Game Framework // phaser.io. Архивиран от оригинала на 2018-05-15. Посетен на 2018-05-15. (на английски)
  6. Phaser 3 Dev Log #148: Phaser 4 Announcement and a catch-up on Phaser 3.18 and 3.19 releases. - Phaser3 - Phaser // phaser.io. Посетен на 2020-04-26. (на английски)
  7. Faas, Travis. An Introduction to HTML5 Game Development with Phaser.js // Посетен на 2023-09-17.
  8. Same-origin policy - Web security MDN // developer.mozilla.org. Посетен на 2021-09-30. (на английски)

Външни препратки[редактиране | редактиране на кода]

  Тази страница частично или изцяло представлява превод на страницата Phaser (game framework) в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​