OpenFL
Page Module:Infobox/styles.css has no content.
| OpenFL | |
|---|---|
| Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found. | |
| Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found. | |
| [[Programmer|DeveloperTemplate:Pluralize from text]] | OpenFL Contributors |
| Initial release | 30 May 2013[1] |
| Written in | Haxe |
| Engine | Page Template:Plainlist/styles.css has no content.Template:EditAtWikidata |
| Operating system | Microsoft Windows, macOS, Linux[2][1] |
| Platform | Microsoft Windows, macOS, Linux, iOS, Android, Flash Player, HTML5[2][1] |
| Type | Software framework |
| License | MIT License[3] |
| Website | Lua error in package.lua at line 80: module 'Module:If preview' not found. |
| Repository | Page Template:Plainlist/styles.css has no content.
|
Script error: No such module "Check for conflicting parameters".
OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games.[4][5] OpenFL applications can be written in Haxe, JavaScript (EcmaScript 5 or 6+), or TypeScript,[6] and may be published as standalone applications for several targets including iOS, Android, HTML5 (choice of Canvas, WebGL, SVG or DOM), Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.[7]
The most popular editors used for Haxe and OpenFL development[8] are:
- Visual Studio Code (with plugin)
- HaxeDevelop (supports code folding, code refactoring and interactive debugging[9])
- Sublime Text (with plugin)
- IntelliJ IDEA (with plugin)
OpenFL contains Haxe ports of major graphical libraries such as Away3D,[10][11][12] Starling,[13][14] Babylon.js,[15] Adobe Flash and DragonBones.[16][17] Due to the multi-platform nature of OpenFL, such libraries usually run on multiple platforms such as HTML5, Adobe AIR and Android/iOS.
More than 500 video games have been developed with OpenFL,[18] including Papers, Please, Rymdkapsel, Lightbot, Friday Night Funkin', and Madden NFL Mobile.
OpenFL was created by Joshua Granick and is currently administered and maintained by Chris Speciale, software engineer, board member, and co-owner.[19]
Technical details
OpenFL
OpenFL is designed to fully mirror the Flash API.[1][5] SWF files created with Adobe Flash Professional or other authoring tools may be used in OpenFL programs.[5]
OpenFL supports rendering in OpenGL, Cairo, Canvas, SVG and even HTML5 DOM. In the browser, WebGL is the default renderer but if unavailable then canvas (CPU rendering) is used.[20] Certain features (shape.graphics or bitmapData.draw) will use CPU rendering, but the display list remains GPU accelerated as far as possible.[20]
Lime
OpenFL uses the Lime library for low-level rendering. Lime provides hardware-accelerated rendering of vector graphics on all supported platforms.[21][20]
Lime is a library designed to provide a consistent "blank canvas" environment on all supported targets, including Flash Player, HTML5, Microsoft Windows, macOS, Linux, iOS, Android, consoles, set-top boxes and other systems.[20] Lime is a cross-platform graphics, sound, input and windowing library, which means OpenFL can focus on being a Flash API, and not handling all these specifics. Lime also includes command-line tools.[20]
Haxe
Haxe is a high-level cross-platform multi-paradigm programming language and compiler that can produce applications and source code, for many different computing platforms, from one code-base.[22][23][24][25] It is free and open-source software, distributed under the GNU General Public License (GPL) 2.0, and the standard library under the MIT License.
Haxe includes a set of common functions that are supported across all platforms, such as numeric data types, text, arrays, binary and some common file formats.[23][26] Haxe also includes platform-specific application programming interface (API) for Adobe Flash, C++, PHP and other languages.[23][27]
Haxe originated with the idea of supporting client-side and server-side programming in one language, and simplifying the communication logic between them.[28][29][30] Code written in the Haxe language can be source-to-source compiled into ActionScript 3, JavaScript, Java, C++, C#, PHP, Python, Lua[31] and Node.js.[23][26][32][33] Haxe can also directly compile SWF, HashLink and NekoVM bytecode.
Starling
The Haxe port of the Starling Framework runs on Stage3D and supports GPU-accelerated rendering of vector graphics.[20] It uses a custom Stage3D implementation, and does not require the OpenFL display list to work.[20][34]
References
- ^ a b c d Page Module:Citation/CS1/styles.css has no content."Introducing OpenFL". Joshua Granick Blog. 30 May 2013. Archived from the original on 2014-10-02.
- ^ a b Page Module:Citation/CS1/styles.css has no content."openfl.org". Archived from the original on 2014-10-26.
- ^ Page Module:Citation/CS1/styles.css has no content."LICENSE.md". Github. Archived from the original on 2017-03-30.
- ^ Page Module:Citation/CS1/styles.css has no content."README.md". Github. Archived from the original on 2015-08-13.
- ^ a b c Page Module:Citation/CS1/styles.css has no content.Doucet, Lars (2014-03-18). "Flash is dead, long live OpenFL!". Gamasutra. Archived from the original on 2015-08-30.
- ^ Page Module:Citation/CS1/styles.css has no content."OpenFL ReadMe". Github. Archived from the original on 2018-04-27.
- ^ Page Module:Citation/CS1/styles.css has no content."OpenFL ReadMe". Github. Archived from the original on 2018-04-27.
- ^ Page Module:Citation/CS1/styles.css has no content."openfl/openfl". GitHub. Archived from the original on 27 April 2018. Retrieved 27 April 2018.
- ^ Haxe Support Script error: No such module "webarchive"., FlashDevelop Wiki
- ^ Page Module:Citation/CS1/styles.css has no content."Home > Away3D". away3d.com. Archived from the original on 19 November 2010. Retrieved 27 April 2018.
- ^ Away Foundation roadmap 2014 Script error: No such module "webarchive"., Away3D Foundation
- ^ away3d 1.2.0 Script error: No such module "webarchive"., Ported to OpenFL 2.x/Haxe, Haxelib
- ^ Starling Framework Script error: No such module "webarchive"., Gamua
- ^ openfl/starling Script error: No such module "webarchive"., The "Cross-Platform Game Engine", a popular Stage3D framework
- ^ BabylonJS Script error: No such module "webarchive"., 3D engine based on WebGL/Web Audio and JavaScript
- ^ DragonBones Script error: No such module "webarchive"., Character Rigging Platform
- ^ openfl/dragonbones Script error: No such module "webarchive"., Runtime support for DragonBones skeletal animation
- ^ Page Module:Citation/CS1/styles.css has no content."Showcase". www.openfl.org. Archived from the original on 26 December 2017. Retrieved 27 April 2018.
- ^ Page Module:Citation/CS1/styles.css has no content."Administrative Organization Changes". OpenFL Community. 2022-04-26. Retrieved 2022-11-17.
- ^ a b c d e f g Getting started with Haxe and Starling Script error: No such module "webarchive"., OpenFL Community, Dec 2017
- ^ Benefits of using starling over openfl? Script error: No such module "webarchive"., OpenFL Community
- ^ Page Module:Citation/CS1/styles.css has no content."Nicolas' announcement of spelling change on Haxe official mail list".
- ^ a b c d Page Module:Citation/CS1/styles.css has no content.Ponticelli, Franco (2008-02-11). Professional haXe and Neko. Wiley. ISBN 978-0470122136.
- ^ Page Module:Citation/CS1/styles.css has no content.Ivanov, Michael (2011-05-24). Away3D 3.6 Cookbook. Packt Publishing Ltd. ISBN 978-1849512817.
- ^ Page Module:Citation/CS1/styles.css has no content.Doucet, Lars (2015-06-03). "Haxe/OpenFL for home game consoles". Gamasutra. Archived from the original on 2015-09-08.
- ^ a b Introduction to the Haxe Standard Library Script error: No such module "webarchive"., Haxe Docs
- ^ Target Specific APIs, Introduction to the Haxe Standard Library Script error: No such module "webarchive"., Haxe Docs
- ^ Page Module:Citation/CS1/styles.css has no content."Haxe Interview". Io Programmo. 2009-04-01: 1–6. Archived from the original on 2015-12-08.
{{cite journal}}: Cite journal requires|journal=(help) - ^ Page Module:Citation/CS1/styles.css has no content.Grden, John; Mineault, Patrick; Balkan, Aral; Hughes, Marc; Arnold, Wade (2008-07-16). The Essential Guide to Open Source Flash Development. Apress. p. Chapter 9 (Using Haxe). ISBN 978-1430209942.
- ^ Page Module:Citation/CS1/styles.css has no content.Fisher, Matt (2013-01-01). HTML5 for Flash Developers. Packt Publishing Ltd. ISBN 978-1849693332.
- ^ Page Module:Citation/CS1/styles.css has no content."Hello Lua! - Haxe". Archived from the original on 2016-08-06. Retrieved 2016-07-09.
- ^ Page Module:Citation/CS1/styles.css has no content."hxnodejs (4.0.9)". Archived from the original on 2016-06-18. Retrieved 2016-07-09.
- ^ Haxe, iPhone & C++ At Last Script error: No such module "webarchive"., GameHaxe website
- ^ Starling for OpenFL Script error: No such module "webarchive"., "The "Cross-Platform Game Engine", Github
See also
Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.
Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.