LibGDX, the cross platform, Java based, open source gaming library for iOS, Android, HTML5 and Desktop has just reached version 1.3. The details of the new release:
- API Addition: Added Input.isKeyJustPressed
- API Addition: multiple recipients are now supported by MessageDispatcher, see https://github.com/libgdx/libgdx/wiki/Message-Handling#multiple-recipients
- API Change: State#onMessage now takes the message receiver as argument.
- API Addition: added StackStateMachine to the gdx-ai extension.
- API change: ShapeRenderer: rect methods accept scale, more methods can work under both line and fill types, auto shape type changing.
- API change: Built-in ShapeRenderer debugging for Stage, see https://github.com/libgdx/libgdx/pull/2011
- Files#getLocalStoragePath now returns the actual path instead of the empty string synonym on desktop (LWJGL and JGLFW).
- Fixed and improved xorshift128+ PRNG implementation.
- Added support for Tiled’s animated tiles, and varying frame duration tile animations.
- Fixed an issue with time granularity in MessageDispatcher.
- Updated to Android API level 19 and build tools 19.1.0 which will require the latest Eclipse ADT 23.02, see http://stackoverflow.com/questions/24437564/update-eclipse-with-android-development-tools-23 for how things are broken this time…
- Updated to RoboVM 0.0.14 and RoboVM Gradle plugin version 0.0.10
- API Addition: added FreeTypeFontLoader so you can transparently load BitmapFonts generated through gdx-freetype via AssetManager, see FreeTypeFontLoaderTest.java
- Preferences put methods now return “this” for chaining
- Fixed issue 2048 where MessageDispatcher was dispatching delayed messages immediately.
- API Addition: 3d particle system and accompanying editor, contributed by lordjone, see pull request 2005
- API Addition: extended shape classes like Circle, Ellipse etc. with hashcode/equals and other helper methods, see pull request #2018
- minor API change: fixed a bug in handling of atlasPrefixes, see pull request 2023
- Bullet: btManifoldPoint member getters/setters changed from btVector3 to Vector3, also it is no longer pooled, instead static instances are used for callback methods
- Added Intersector#intersectRayRay to detect if two 2D rays intersect, see pull request 2132
- Bullet: ClosestRayResultCallback, AllHitsRayResultCallback, LocalConvexResult, ClosestConvexResultCallback and subclasses now use getter/setters taking a Vector3 instead of btVector3, see pull request #2175
- 2d particle system supports pre-multiplied alpha.
- Bullet: btIDebugDrawer/DebugDrawer now use pooled Vector3 instances instead of btVector3, see pull request #2174
You can download the LibGDX setup app here. Of course, GameFromScratch.com has a complete set of LibGDX tutorials to get you started.