anther one about sprites: spriteloq/animo, old vs new sprite api

Hi all,

I’m trying to use spriteloq aka animo as our graphics guys are used to flash. 

Animo seems to be the only tool that can export both spritesheets and animation data from swfs.

So far, it works fine but little issues remain:

Animo is somehow built to be used with the library that comes with it. As much as I appreciate the working code, I’d really rather use my own for 2 reasons:

  • the library is too complex for my rather basic applications, where much of the complexity comes from the fact that…

  • …it uses the old sprite api, I’d like to use the new one

I try to map the old sheet generation (viasprite.newSpriteSheetFromData() ) to new sheet generation (via graphics.newImageSheet() ) with the following equivalences:

(using ‘coordinate data’ for old api and ‘complex options’ for new api respectively)

sprite.newSpriteFromData    <->    graphics.newSprite()

spriteSourceSize.width         <->    sourceWidth/Height

textureRect.x/y/width           <->    x/y/width

spriteColorRect.x/y               <->    sourceX/Y

it works mostly, but I get different results when comparing both methods: With the new api and same coordinates I get shaky and blurred animations for some of the sprites. Is there something I forgot?

Is there a specific reason why most of the sprite sheet generators usesthe old sprite api?

thanks in advance, johannes

Hello together,

from what I understand from the spriteloq website, support for animo takes place here.

We have bought licenses for both corona and animo and we would like to use them. If we decide to set up a production pipeline using flash-> animo -> corona we have to be sure that animo doesn’t cease to exist/work suddenly. 

Perhaps the forum entry has somewhat gone under: We’d like to know if there is a possibility to use animo with corona’s new sprite api and/or if there will be official support for it (or is the old api better?). We fear that corona will abandon the old api some time and we then will have a problem producing our apps this way.

thanks in advance, Johannes

Hello together,

from what I understand from the spriteloq website, support for animo takes place here.

We have bought licenses for both corona and animo and we would like to use them. If we decide to set up a production pipeline using flash-> animo -> corona we have to be sure that animo doesn’t cease to exist/work suddenly. 

Perhaps the forum entry has somewhat gone under: We’d like to know if there is a possibility to use animo with corona’s new sprite api and/or if there will be official support for it (or is the old api better?). We fear that corona will abandon the old api some time and we then will have a problem producing our apps this way.

thanks in advance, Johannes

I’ve come across this topic again, and again, I seek counsel from the makers of spriteloq/animo or corona respectively.

would anyone please answer? thanks

Hi @Johannes,

This may be the place where Animo directs you for support, but this sub-forum probably receives very little traffic. If Animo claims to support Corona, then you should be OK in using it for this purpose, and using the current Corona sprite methods/functions. Otherwise, because Animo is a 3rd-party product, we cannot provide direct support for its methods or setup.

You definitely should not use the old, deprecated “sprite” library in Corona. This was deprecated well over a year ago, and most users have migrated to the current methods using the “display” library.

Another possible option you might wish to explore is TexturePacker, which is actively supported by the developer across many platforms, including Corona: http://www.codeandweb.com/texturepacker/coronasdk

Hope this helps,

Brent Sorrentino

Hello Brent,

I tried to get animo running with the new sprite api. It only is capable of producing (lua) output for the old api. I tried with the asumptions above to get it working with the new one in the obvious way, but it didn’t work. My question was basically if there is a one to one mapping of the information I feed the old api with to the information I need to feed the new api. 

The animo developers stated on their website that they would take on support for animo here after spriteloq was renamed to animo and owned by lanica. But since the animo website is not reachable any more, it doesn’t matter, because we won’t use it anymore.

But thank’s for your efforts, I’ll try texture packer

I’ve come across this topic again, and again, I seek counsel from the makers of spriteloq/animo or corona respectively.

would anyone please answer? thanks

Hi @Johannes,

This may be the place where Animo directs you for support, but this sub-forum probably receives very little traffic. If Animo claims to support Corona, then you should be OK in using it for this purpose, and using the current Corona sprite methods/functions. Otherwise, because Animo is a 3rd-party product, we cannot provide direct support for its methods or setup.

You definitely should not use the old, deprecated “sprite” library in Corona. This was deprecated well over a year ago, and most users have migrated to the current methods using the “display” library.

Another possible option you might wish to explore is TexturePacker, which is actively supported by the developer across many platforms, including Corona: http://www.codeandweb.com/texturepacker/coronasdk

Hope this helps,

Brent Sorrentino

Hello Brent,

I tried to get animo running with the new sprite api. It only is capable of producing (lua) output for the old api. I tried with the asumptions above to get it working with the new one in the obvious way, but it didn’t work. My question was basically if there is a one to one mapping of the information I feed the old api with to the information I need to feed the new api. 

The animo developers stated on their website that they would take on support for animo here after spriteloq was renamed to animo and owned by lanica. But since the animo website is not reachable any more, it doesn’t matter, because we won’t use it anymore.

But thank’s for your efforts, I’ll try texture packer

Hello,

Has anyone come up with a solution of how to adapt/migrate Spriteloq generated sprite sheets to the newer versions of Corona SDK? Using Graphics mode set to 1  and require the legacy version of sprite does not appear to work. However, using the Legacy version of Corona SDK (v. 2013.1260) still does. It appears that  in the long run, on future projects it is advisable to switch to TexturePacker. But TexturePacker only recognizes frames on Flash´s base timeline and not those of the embedded Sprites.

If you get the legacy sprite library from our github repository, drop the sprite.lua file into the top level of your project (were main.lua lives) and as the first line (or before anything that would use it) globally load the sprite library:

sprite = require(“sprite”)

Then with regards to the sprite library, you should should be identical to 1260.  Now with regards to the rest of the SpriteLoq/Amino or any other 3rd party library, adding “graphicsCompatibility = 1” to your config.lua should resolve any positioning issues.  If it does not, I would suggest contacting the 3rd party developer. 

We’ve made it perfectly clear for a couple of years that we were removing this library and to move to the new sprite system. 

Rob

Hello,

Has anyone come up with a solution of how to adapt/migrate Spriteloq generated sprite sheets to the newer versions of Corona SDK? Using Graphics mode set to 1  and require the legacy version of sprite does not appear to work. However, using the Legacy version of Corona SDK (v. 2013.1260) still does. It appears that  in the long run, on future projects it is advisable to switch to TexturePacker. But TexturePacker only recognizes frames on Flash´s base timeline and not those of the embedded Sprites.

If you get the legacy sprite library from our github repository, drop the sprite.lua file into the top level of your project (were main.lua lives) and as the first line (or before anything that would use it) globally load the sprite library:

sprite = require(“sprite”)

Then with regards to the sprite library, you should should be identical to 1260.  Now with regards to the rest of the SpriteLoq/Amino or any other 3rd party library, adding “graphicsCompatibility = 1” to your config.lua should resolve any positioning issues.  If it does not, I would suggest contacting the 3rd party developer. 

We’ve made it perfectly clear for a couple of years that we were removing this library and to move to the new sprite system. 

Rob

I really don’t like TexturePacker for a number of reasons. It doesn’t capture anything to the top and left of the origin (0,0). Also as i i i mentioned You can only export multiple frames if on the main time line - maybe a script here can be useful. Also it doesn’t export the anchor points, just raw images which makes things really inconvenient. I considered finding an algorithm to dump all this, but my pipeline for exporting lots of sprites just keeps getting longer.

With old Spriteloq everything just worked.

So, anyone out there found a solution to this yet? I think I would rather use Animo and somehow find a way to convert exported data to graphics 2.0.

Edit: I just found a folder in the Animo directory called export_templates. Perhaps I can start with that.

I wrote an early version of the Animo export template for Corona with graphics 2.0 support. Alignment and animation work, and handles garbage collection correctly. Here is the link.

extendinganimo.jpg

it works mostly, but I get different results when comparing both methods: With the new api and same coordinates I get shaky and blurred animations for some of the sprites. Is there something I forgot?

I found this is caused by non integer (non floored) coordinates both in setting up the sprites, and placing them.

I really don’t like TexturePacker for a number of reasons. It doesn’t capture anything to the top and left of the origin (0,0). Also as i i i mentioned You can only export multiple frames if on the main time line - maybe a script here can be useful. Also it doesn’t export the anchor points, just raw images which makes things really inconvenient. I considered finding an algorithm to dump all this, but my pipeline for exporting lots of sprites just keeps getting longer.

With old Spriteloq everything just worked.

So, anyone out there found a solution to this yet? I think I would rather use Animo and somehow find a way to convert exported data to graphics 2.0.

Edit: I just found a folder in the Animo directory called export_templates. Perhaps I can start with that.

I wrote an early version of the Animo export template for Corona with graphics 2.0 support. Alignment and animation work, and handles garbage collection correctly. Here is the link.

extendinganimo.jpg

it works mostly, but I get different results when comparing both methods: With the new api and same coordinates I get shaky and blurred animations for some of the sprites. Is there something I forgot?

I found this is caused by non integer (non floored) coordinates both in setting up the sprites, and placing them.