Phaser
Phaser | |
Информация | |
---|---|
Вид | софтуерна рамка |
Разработчик | Ричард Дейви |
Начална версия | 12 април 2013 г. |
Лиценз | 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 игра обикновено се състои от следните папки и файлове:
- Scripts/ (или js/) : В тази папка се намира основният файл на рамката, който обикновено се нарича Phaser.js. Съдържа файл с кода на играта, който използва рамката.
- Src/ : Тази папка е предназначена за съхраняване на изходни файлове. Тези файлове в крайна сметка ще бъдат компилирани, за да се създаде пълният код на играта.
- Assets/ : В тази папка има различни подпапки:
- Images : Съдържа графични файлове.
- Maps : Съдържа данни, необходими за 2D играта.
- Sounds : Това е мястото, където се съхраняват звуковите ефекти за играта, често в множество формати.
- Music : Съдържа музиката за играта.
- Misc : Тук се съхраняват различни данни като диалогови файлове, скриптове за изпълнение и други специални файлове.
- 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, но има някои предимства.
Източници
[редактиране | редактиране на кода]- ↑ Phaser - JavaScripting // www.javascripting.com. Архивиран от оригинала на 2022-09-29. Посетен на 2023-09-20.
- ↑ How to Learn the Phaser HTML5 Game Engine // gamedevelopment.tutsplus.com.
- ↑ Announcing Phaser (Flixel HTML5) and our Adobe Max session // www.photonstorm.com.
- ↑ Phaser 1.0 and the journey we took to get there // www.photonstorm.com.
- ↑ Phaser - The fast, fun and free HTML5 Game Framework // phaser.io. Архивиран от оригинала на 2018-05-15. Посетен на 2018-05-15. (на английски)
- ↑ 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-02-20. Посетен на 2020-04-26. (на английски)
- ↑ Faas, Travis. An Introduction to HTML5 Game Development with Phaser.js // Посетен на 2023-09-17.
- ↑ Same-origin policy - Web security MDN // developer.mozilla.org. Посетен на 2021-09-30. (на английски)
Външни препратки
[редактиране | редактиране на кода]- Официален сайт
- Phaser в GitHub
- Дискусионен форум в html5gamedevs.com
Тази страница частично или изцяло представлява превод на страницата Phaser (game framework) в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.
ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни. |