How to trigger "symbol play from..." on different symbol?

Hello, I am upgrading from Edge animate. I need help replicating a feature in my work.

I am making an animated comic that has short animations in each comic panel. Every panel is a symbol. Every symbol has a “ready” animation, which is labeled in Edge animate. At the end of each panel, I have a trigger that plays the next panel’s ready animation.

In edge, I use this javascript in panel 1 to start playing panel 2:
sym.getComposition().getStage().getSymbol("pl2_ani").play("ready");

Example: http://nwain.com/?webcomic2=page-111

I have started rebuilding the page in Saola. How do I make a trigger in panel 1 that starts the “ready” animation in panel 2? They are different symbols inside the same scene.

Hi Terrana,

Saola Animate supports multiple timelines, they have better performance than symbols. So you should use a timeline for each comic panel instead of using symbol.

In case you still want to use symbol, you can add a trigger at the end of each symbol, and use the following script to play another symbol element:

// get parent document (also main document in your case) from symbol document
var parentDoc = doc.getParentDoc();
// get other symbol element in parent document
var otherSymbol = parentDoc.getElement('other symbol element name, not symbol name');
if (otherSymbol) {
  otherSymbol.seek('ready');
  otherSymbol.play();
}

You can do that without JavaScript by taking two steps below:

  1. Add a trigger at a label in your main document to play a symbol with Play Symbol From label action, target is a child symbol.
  2. In a symbol, add Play Symbol From label with target is the parent symbol, label is the label created in step 1.

Regards

Thank you for the tip about multiple timelines. They’re working very well!

As you can see here…

1 Like