Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

OpenFL - это бесплатная программная среда и платформа с открытым исходным кодом для создания многоплатформенных приложений и видеоигр . [5] [6] Приложения OpenFL могут быть написаны на Haxe , JavaScript ( EcmaScript 5 или 6+) или TypeScript ., [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] :

  • Код Visual Studio (с плагином)
  • HaxeDevelop (поддерживает свертывание кода , рефакторинг кода и интерактивной отладки [10] )
  • Sublime Text (с плагином)
  • IntelliJ IDEA (с плагином)

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

С помощью OpenFL было разработано более 500 видеоигр [19], в том числе отмеченные премией BAFTA Game Papers, Please , Rymdkapsel , Lightbot и Madden NFL Mobile .

Технические детали [ править ]

OpenFL [ править ]

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

OpenFL поддерживает рендеринг в OpenGL , Cairo , Canvas , SVG и даже HTML5 DOM. В браузере OpenGL является средством визуализации по умолчанию, но если он недоступен, используется холст (отрисовка CPU). [20] Некоторые функции ( shape.graphicsили bitmapData.draw) будут использовать рендеринг ЦП, но список отображения остается максимально ускоренным с помощью ГП . [20]

Лайм [ править ]

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

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

Haxe [ править ]

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

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

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

Скворец [ править ]

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

Ссылки [ править ]

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

См. Также [ править ]

  • Haxe
  • Adobe AIR