Spine for openfl-starling


#1

Hello!
I am looking Spine library for OpenFL version of Starling.

I’ve tried to convert official spine-starling library for using with spinehaxe or spine-hx. But unfortunately APIs are different, some classes are missed.

Maybe someone knows something about this theme.
Thanks.


#2

Maybe someone may need to approach the latest code again, and do a fresh port. Something that’s more of an exact port would be great for trying to keep the library up-to-date longer term, I’m not sure how the licensing works, though, if the runtime is open-source?


#3

The support to the latest version of Spine would be an incredible plus for Openfl world, Spine is very good for games and more :star_struck:


#4

Maintainer of spine-hx here,

The code is automatically converted from the original spine-libgdx java code (which is the reference implementation) to haxe code. This strategy was used to minimize the need to do manual conversion and fixes everytime official spine code is updated. (bug fixes on official runtime 3.6 were automatically converted and merged to spine-hx without having to do any manual work).

We are already using it in production with latest Spine Pro features (Mesh rendering, Tint black etc…) and will update to spine 3.7 runtime soon after it gets officially released (currently in beta afaik).

While spine-hx is based on official java runtime and not as3 runtime, APIs should be very close and it should not be very difficult to plug it to starling with a few changes to the official spine-starling code.

You can find an example of rendering code of spine-hx here but this is for a custom engine (not OpenFL-based). Just giving the link, in case you want to see how the API is used.

I have already been willing to provide a renderer for OpenFL, but as long as drawTriangles() or equivalent doesn’t get hardware rendered, it won’t be worth the hassle (and I’d rather provide a renderer for “plain” OpenFL than a specific framework like Starling).


#5

drawTriangles is hardware-accelerated in dev :success: