Multiple timelines/scenes per symbol, looping symbol timelines

Something that gets me about spritesheets + symbols is how they almost work really well together, but don’t quite fit together.

Example: https://spider.zone/scraps/strife_demo.html

In this animation, the character sprites are symbols, and pausing at labels moves them between certain states - “idle”, “running”, etc - nicely, and certain animations that play once through fit nicely as spritesheets, but animations that need to loop (such as the idle poses and running animations) don’t, since you can’t loop spritesheet animations on a symbol, since the event handlers don’t go off, or something like that. It just doesn’t work.

So I have to either repeat the play keyframe, or export them as individual GIFs, and turn them on and off at each label, both of which increases clutter overall, and also increases time spent loading files, when it could just be a single PNG.

As I said, I’ve tried putting down event handlers to loop from a certain label, but it doesn’t seem to work.

Also, it seems a little bit unintuitive that you can have more than one scene and timeline per symbol, but don’t have the option to access those scenes or timelines from outside the scope of the symbol.

Hi Victoria,

Maybe this will help.
sprite-loop-as-symbol.saolapack (106.7 KB)

The character is in a symbol that uses a sprite with a timeline that causes it to loop. The main scene uses the play symbol action to trigger the symbol and this allows the symbol to loop.

The buttons use some JS that allow you to control the symbol playback…

Hi @arachonteur,

It looks like you use a playback animation to start your looped symbol.
If so, the symbol will stop at the end of the parent timeline.
To loop a symbol infinite, you should use a Start Symbol action as in mackavi’s sample.
For more information, please see my answer in this thread:

The current version doesn’t have actions to access the symbol scenes and timelines from outside the symbol. However, you can use JavaScript to do that (use symbol_element.getSymbolDoc() to get the symbol document).

Regards