I’m adding a small framework to the GUI library for 2D game dev over the JME platform.
Why do this?
Most 3D game engines these days have a 2D development environment as well. Why not JME?
Why in the GUI library?
Leveraging the already existing components of the library made things Layers, interaction, Effects, etc a breeze, as the library’s base component was designed with this in mind as a future update. The pieces dropped into place seamlessly and it’s going very well so far!
In the reverse direction, this will allow for multiple enhancements to the standard GUI library usage, for instance:
- The ability to recognize non-rectangular shapes and react accordingly (buttons that look like ink splotches that only react to the visible graphics, etc).
- Applying physics driven movement effects to GUI components.
- Leveraging the animation interpolation class for a wider variety of effects.
Here is a demo of integrated 2D physics as well as Plants Vs Zombies style character animations of a single mesh.