StageXL is a fast and universal 2D rendering engine for HTML5 and Dart. It provides a wide range of features for 2D games and other graphically rich content. The WebGL based engine is highly optimized to reduce the number of draw calls sent to the GPU and therefore delivers top-class performance. The automatic fallback to a Canvas2D based engine guarantees compatibility with older browsers or legacy hardware.
Some of the features provided by StageXL are: texture atlas support, draw call batching, pixel masking, pixel filters, pixel blending, texture filtering, hierarchical display list, sprite sheet animations, rich animation framework, audio and video support, interaction events, 3D transformations of 2D objects, resource management, text rendering and many other features as well as extensibility for even more features.
StageXL provides a rich set of built-in features. Even more advanced use cases may require an extension library with a specialised set of features. The number of extension libraries is growing over time, here is a list of the most popular StageXL extension libraries.
- Bitmap Fonts: https://github.com/bp74/StageXL_BitmapFont
- GAF Runtime: https://github.com/bp74/StageXL_GAF
- Spine Runtime: https://github.com/bp74/StageXL_Spine
- Toolkit Runtime: https://github.com/bp74/StageXL_Toolkit
- DragonBones Runtime: https://github.com/bp74/StageXL_DragonBones
- Flump Runtime: https://github.com/bp74/StageXL_Flump
- Particle Emitter: https://github.com/bp74/StageXL_Particle
- Rich Text Field: https://github.com/realbluesky/StageXL_RichTextField
The easiest way to get started or to accomplish a task is to ask questions. We are actively tracking the following websites and answer questions as fast as possible. We would like to get more FAQs on StackOverflow to help other developers to find answers quickly, therefore it would be great to get your questions on StackOverflow.
- StageXL Forum: https://groups.google.com/forum/#!forum/stagexl
- StageXL GitHub Issues: https://github.com/bp74/StageXL/issues
- StageXL StackOverflow: http://stackoverflow.com/questions/ask?tags=stagexl
- StageXL API Reference: http://www.stagexl.org/docs/api/index.html
We are working on more examples to covering a wider range of use cases. Please take a look at the StageXL samples repository for our ongoing work. Don't hesitate to send example requests that would help you to learn about a particular feature.
- GitHub repository: https://github.com/bp74/StageXL_Samples
- StageXL homepage: http://www.stagexl.org/samples
We encourage anyone to send in Pull Requests or issues that they find. We do our best to look at them as soon as we can.
Besides improving our existing features and improving performance as much as possible, we are always thinking about new features we want to add next. Please send us your ideas and requests to make those things a reality you care about most. Some of the things we will tackle in the near future are:
- Support for Flutter (This is happening on a separate repo)
- A new StageXL homepage with more articles / blog posts.
- Changing functions from positional parameters to named parameters.
- Adding ability use Web Workers.
Adobe Flash heritage
StageXL started as an easy migration path for Adobe Flash developers and their products to HTML5. Therefore StageXL provides the same display list API you may have used in Flash for many years. Furthermore the Dart programming language is easy to use for everyone who is familiar with ActionScript.
- Toolkit for Dart: http://toolkitfordart.github.io
- ActionScript to Dart converter: https://github.com/blockforest/stagexl-converter-pubglobal
- ActionScript to Dart comparison: http://www.stagexl.org/docs/actionscript-dart.html
Some features only work on newer browsers such as WebGL, but we intend to have fallbacks for most features.