OpenFL - OpenFL - Wikipedia

OpenFL
OpenFL Logo.png
OpenFL Stack.png
Разработчики)Участники OpenFL
изначальный выпуск30 мая 2013 года; 7 лет назад (2013-05-30)[1]
Стабильный выпуск
9.0.2 / 18 августа 2020; 3 месяца назад (2020-08-18)[2]
Репозиторийgithub.com/ HaxeFoundation/ haxe
Написано вHaxe
Операционная системаМайкрософт Виндоус, macOS, Linux[3][1]
ПлатформаМайкрософт Виндоус, macOS, Linux, iOS, Android, Flash Player, HTML5[3][1]
ТипПрограммный фреймворк
ЛицензияЛицензия MIT[4]
Интернет сайтwww.openfl.org

OpenFL это бесплатно и с открытым исходным кодом программная среда и платформа для создания мультиплатформенных Приложения и видеоигры.[5][6] Приложения OpenFL можно писать на Haxe, JavaScript (EcmaScript 5 или 6+), или Машинопись.,[7] и могут быть опубликованы как отдельные приложения для нескольких целей, включая iOS, Android, HTML5 (на выбор Canvas, WebGL, SVG или DOM), Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi и Node.js.[8]

Самые популярные редакторы, используемые для разработки Haxe и OpenFL[9] находятся:

OpenFL содержит порты Haxe основных графических библиотек, таких как В гостях3D,[11][12][13] Скворец,[14][15] BabylonJS,[16] Adobe Flash и DragonBones.[17][18] Из-за многоплатформенности OpenFL такие библиотеки обычно работают на нескольких платформах, таких как HTML5, Adobe AIR и Android / iOS.

На OpenFL разработано более 500 видеоигр,[19] в том числе BAFTA-награда -выигрышная игра Документы, пожалуйста, Рымдкапсель, Lightbot и Madden NFL Mobile.

Технические детали

OpenFL

OpenFL разработан для полного отражения Flash API.[1][6] SWF файлы, созданные с помощью Adobe Flash Professional или другие инструменты разработки могут использоваться в программах OpenFL.[6]

OpenFL поддерживает рендеринг в OpenGL, Каир, Холст, SVG и даже HTML5 ДОМ. В браузере OpenGL является средством визуализации по умолчанию, но если он недоступен, используется холст (отрисовка CPU).[20] Некоторые функции (shape.graphics или же bitmapData.draw) будет использовать рендеринг CPU, но список отображения останется GPU ускоренный так далеко, насколько возможно.[20]

Лайм

OpenFL использует библиотеку Lime для низкоуровневого рендеринга. Лайм обеспечивает рендеринг с аппаратным ускорением из векторная графика на всех поддерживаемых платформах.[21][20]

Lime - это библиотека, предназначенная для обеспечения согласованной среды «пустой холст» для всех поддерживаемых целей, включая Flash Player, HTML5, Майкрософт Виндоус, macOS, Linux, iOS, Android, консоли, приставки и другие системы.[20] Lime - это кроссплатформенная библиотека графики, звука, ввода и управления окнами, что означает, что OpenFL может сосредоточиться на том, чтобы быть Flash API, а не обрабатывать все эти особенности. Лайм также включает командная строка инструменты.[20]

Haxe

Haxe это высокий уровень кросс-платформенный мультипарадигма язык программирования и компилятор которые могут создавать приложения и исходный код для множества различных вычислительные платформы, из одной кодовой базы.[22][23][24][25] это бесплатное программное обеспечение с открытым исходным кодом, распространяется в рамках Стандартная общественная лицензия GNU (GPL) 2.0 и стандартная библиотека под Лицензия MIT.

Haxe включает в себя набор общих поддерживаемых функций на всех платформах, Такие как числовые типы данных, текст, массивы, двоичный и некоторые общие форматы файлов.[23][26] Haxe также включает платформенно-зависимые интерфейс прикладного программирования (API) для Adobe Flash, C ++, PHP и другие языки.[23][27]

Haxe возникла с идеей поддержки сторона клиента и на стороне сервера программирование на одном языке и упрощение логики общения между ними.[28][29][30] Код, написанный на языке Haxe, можно исходный код скомпилирован в ActionScript 3, JavaScript, Ява, C ++, C #, PHP, Python, Lua[31] и Node.js.[23][26][32][33] Haxe также может напрямую компилировать SWF, HashLink и Неко байт-код.

Скворец

Порт Haxe Starling Framework работает на Stage3D и поддерживает рендеринг векторной графики с ускорением на GPU.[20] В нем используется специальная реализация Stage3D, и для работы не требуется список отображения OpenFL.[20][34]

Рекомендации

  1. ^ а б c d «Представляем OpenFL». Блог Джошуа Граника. В архиве из оригинала от 02.10.2014.
  2. ^ https://github.com/openfl/openfl/releases
  3. ^ а б "openfl.org". В архиве из оригинала от 26.10.2014.
  4. ^ "LICENSE.md". Github. В архиве из оригинала от 30.03.2017.
  5. ^ "README.md". Github. В архиве из оригинала 13.08.2015.
  6. ^ а б c Дусе, Ларс (18 марта 2014 г.). «Flash мертв, да здравствует OpenFL!». Гамасутра. В архиве из оригинала 30.08.2015.
  7. ^ "OpenFL ReadMe". Github. В архиве из оригинала от 27.04.2018.
  8. ^ "OpenFL ReadMe". Github. В архиве из оригинала от 27.04.2018.
  9. ^ "openfl / openfl". GitHub. В архиве из оригинала 27 апреля 2018 г.. Получено 27 апреля 2018.
  10. ^ Поддержка Haxe В архиве 2015-07-06 в Wayback Machine, FlashDevelop Wiki
  11. ^ "Главная> Away3D". away3d.com. В архиве из оригинала 19 ноября 2010 г.. Получено 27 апреля 2018.
  12. ^ Дорожная карта Away Foundation 2014 В архиве 2016-03-06 в Wayback Machine, Фонд Away3D
  13. ^ away3d 1.2.0 В архиве 2016-03-06 в Wayback Machine, Перенесен на OpenFL 2.x / Haxe, Хакселиб
  14. ^ Starling Framework В архиве 2018-01-02 в Wayback Machine, Гамуа
  15. ^ openfl / скворец В архиве 2017-03-30 в Wayback Machine, «Кросс-платформенный игровой движок», популярный фреймворк Stage3D.
  16. ^ BabylonJS В архиве 2018-01-01 в Wayback Machine, 3D движок на основе WebGL / Web Audio и JavaScript
  17. ^ Кости дракона В архиве 2017-12-30 в Wayback Machine, Платформа оснащения персонажей
  18. ^ openfl / драконьи кости В архиве 2018-04-27 в Wayback Machine, Поддержка во время выполнения скелетной анимации DragonBones
  19. ^ «Витрина». www.openfl.org. В архиве из оригинала 26 декабря 2017 г.. Получено 27 апреля 2018.
  20. ^ а б c d е ж грамм Начало работы с Haxe и Starling В архиве 2017-12-27 в Wayback Machine, Сообщество OpenFL, декабрь 2017 г.
  21. ^ Преимущества использования Starling перед OpenFL? В архиве 2017-12-27 в Wayback Machine, Сообщество OpenFL
  22. ^ "Объявление Николаса об изменении правописания в официальном списке рассылки Haxe".
  23. ^ а б c d Понтичелли, Франко (11 февраля 2008 г.). Профессиональные haXe и Neko. Вайли. ISBN  978-0470122136.
  24. ^ Иванов, Михаил (24.05.2011). Поваренная книга Away3D 3.6. Packt Publishing Ltd. ISBN  978-1849512817.
  25. ^ Дусе, Ларс (2015-06-03). «Haxe / OpenFL для домашних игровых консолей». Гамасутра. В архиве из оригинала от 08.09.2015.
  26. ^ а б Введение в стандартную библиотеку Haxe В архиве 2015-08-14 на Wayback Machine, Haxe Docs
  27. ^ Целевые API, Введение в стандартную библиотеку Haxe В архиве 2015-08-14 на Wayback Machine, Haxe Docs
  28. ^ "Haxe Interview". Io Programmo. 2009-04-01: 1–6. В архиве из оригинала от 08.12.2015. Цитировать журнал требует | журнал = (помощь)
  29. ^ Грден, Джон; Майно, Патрик; Балкан, Арал; Хьюз, Марк; Арнольд, Уэйд (16 июля 2008 г.). Основное руководство по разработке Flash с открытым исходным кодом. Апресс. п. Глава 9 (Использование Haxe). ISBN  978-1430209942.
  30. ^ Фишер, Мэтт (01.01.2013). HTML5 для разработчиков Flash. Packt Publishing Ltd. ISBN  978-1849693332.
  31. ^ "Привет, Луа! - Хакс". В архиве из оригинала от 06.08.2016. Получено 2016-07-09.
  32. ^ "hxnodejs (4.0.9)". В архиве из оригинала от 18.06.2016. Получено 2016-07-09.
  33. ^ Haxe, iPhone и C ++ наконец-то В архиве 2012-04-15 в Wayback Machine, Сайт GameHaxe
  34. ^ Старлинг для OpenFL В архиве 2017-03-30 в Wayback Machine, «Кросс-платформенный игровой движок», Github

Смотрите также