Layer Timing when Triggered
Oct 10, 2012
I have 9 objects on the slide that each display a layer with audio when clicked. They also show a new state where the object has moved. No problem. Once all the objects are visited, I want a new final layer to display/play.
I have added a trigger that checks the state of all the objects concerned, but when clicking on the last obect, the related layers of both the last object clicked and the new final layer begin to play simultaneously.
How do I control the timing of each layer once the trigger conditions have been met?
9 Replies
Doug,
My initial thought...
Have a hidden button that appears once all the objects have been visited. This button could launch the final layer.
Mike
Mike,
Thanks for your response. I thought about using a hidden button, but the length of the audio for each object varies. Since learners may click any of the objects at random, to initiate a hidden button later than a given audio would create a gap of slience if the learner clicks an object with shorter duration audio last.
Doug,
I don't think I'm following.
In my example, the hidden button would appear once each of the others has been clicked. Are you looking for the final layer to fire after the learner has listened to each of the audio files fully?
Mike,
That is correct. It needs to dispaly after all layers/tracks have been seen/heard. I'll attach the slide for your refernce. As you can see, I want the Mona Lisa layer to show up AFTER all paint splotches have been clicked.
Doug
Doug,
Cool interface idea with the palette! I like it.
Here's the challenge.
You want the learner to listen to the entire audio clip on each layer. But right now, your trigger to show the final layer is predicated upon their action of clicking, and not having listened. If you simply want the layer to launch and play by itself, you can tell it to close all other layers. This would avoid the double play. However, it would also shut down that last paint splotch layer as well.
Going back to my first suggestion with the hidden button (or paint splotch), you could still go with this method and simply not allow the learner to click on the base layer objects and then close the layer when the timeline ends (thus, forcing them to listen).
(Otherwise, we could go with variables, tied to the audio completing, but you'd need to tell the learner that they have to listen to the entire audio clip. This could cause for some headaches in a number of ways!)
I've attached the .story file with a few modifications. Basically, I've added a media complete trigger to close the layer, and no interaction with the base layer.
I hope this helps.
Mike
Hey Mike, I didn't know you could attach a trigger to the recorded audio. It seems I could define a new state to each paint object, say "painted." Then I would have the state change AFTER the media is played. I would then use a trigger to cause the Mona layer to show up once all object states have been changed. I'll give that a try and let you know how it goes.
OK, I added a trigger to each paint object layer to change the state of each paint object to a custom state I called "Painted" when the media finishes playing. However, this is still not working as expected. I therefore tested the Mona trigger by changing it to play when ANY paint object status equals "Painted." I then changed the inital state of one of the paint object's to "Painted," and the Mona layer played immediately when previewed. This leads me to conclude that the layer triggers are not working to change the paint objects status to "Painted" as specified (see attached updated file).
Doug,
Here's what's happening....
By choosing the checkbox to hide layer when timeline finishes, you're closing down the layer before your trigger has a chance to fire. So you need to keep the trigger I used (close layer when media completes) and use it in conjunction with your new trigger.
So on each layer, you'll have:
Trigger #1: Change state of object when media completes (this has to come first so it fires before the layer closes)
Trigger #2: Hide layer when media completes
Make sure to remove that "hide layer when timeline finishes" checkbox in the layer properties for each layer. When I take these steps, your interaction works.
Mike
Awesome! That did it. It's helpful to know that the triggers are performed in the order they are listed. Thank you so much for your help.
This discussion is closed. You can start a new discussion or contact Articulate Support.