Shapes ignoring their position in the timeline

Jul 03, 2014


I have a 38 second timeline with a video, a button and 3 text boxes spread over the timeline. Each text box should be on-screen by itself. The first text box should be there from t=1.5s to t=17s at t=17s the second text box shows until t=23.5s at that point it should come on-screen the third text box. The initial state for all text boxes is hidden. I want to make it so the text boxes can be shown or hidden depending on weather the button has been press or not. To do this I created a true/false variable with a default false value. I set a trigger to toggle the value of variable 1. Than I created a trigger to to change the state of text box 1 to normal when user clicks the button If Variable 1 is equal to true. I also created a trigger to change the state of text box to hidden when the user clicks the button if Variable 1 is false. I created these last 2 triggers for the other 2 text boxes as well. The problem I'm having is that as soon as I click the button all 3 text boxes show up. This is neglecting the timeline and the fact that the 3 text boxes are set to appear at 3 different instances of time.

If you need any more information please let me know.

11 Replies
Meryem M

Sergio, I've attempted to recreate the function that you are describing here.  There are two issues that may be giving you trouble.

  • Check your trigger order.  When you have a toggle, to change a variable to True if it is False, followed by  another to change it to False if it is True, then they might be undoing one another.  The triggers fire in order.  The first trigger might change the variable to false, and then immediately the second changes it back to true.  
  • It is a known issue that a trigger to change a hidden object to Normal will fire regardless of whether the object is supposed to be on the timeline or not.  I recall someone discovering this behavior and using it as a neat trick to accomplish some wizardry.  

If you can post your slide with out the video, we can take a look at the triggers and perhaps another order.

Greg Faust

It's possible to get pretty elaborate with things that appear/disappear based on both the timeline and clicking. First, though, it's good to check for the simple solution.

What exactly are you trying to accomplish? Is it:

Clicking the button shows/hides [some text], and that text is determined by the timeline?

Edit: Also, how much other stuff is showing on the slide?

Meryem M


This sample story uses layers to show and hide the text boxes.  I'm using two different buttons, one is on a layer.  The buttons show and hide another layer that simply covers up the text boxes.  There are no states and no variables.  Maybe this fits Greg's "simple solution."  See if a similar logic would work for your purposes.

Greg Faust

If the captions don't overlap the video player, there's a quick solution: Simply block the captions with a box. You can even set the box to "Slide background fill." (right-click the box; Format Shape; Fill; select the Slide background fill option).

So the captions are *there* no matter whether the box is showing or now; you just trigger the box to appear/disappear when the button is clicked.

You might try this even if the captions do get superimposed over the video (I don't know how Slide background fill interacts with videos).

Meryem M

Is it necessary for just parts of the closed captions to show at once?  Are you permitted to show the entire transcript of the audio?  In my projects I put the transcript of the audio in the Notes pane, then insert the notes into a tab in the player.

If you need to insert captions a sentence at a time, and be able to turn them on and off,  I don't know how to do that.

Brian Allen

I've done closed captions before by adding my closed captioned text boxes to individual slide layers.  I then place several objects off of the "stage" and set their timing to appear when the closed caption should appear, and go away when it's done.  Set a trigger for the off stage object to show layer when the object's timeline starts, and hide the layer when the off stage object's timeline ends.  Very simple.

To create a button to turn off closed captions, you just need one simple variable for close captioning, which I like to default to "True".  You add a condition on your off stage objects to show the layer if the variable equals true.  If the variable is false then closed captions will not appear.

You can also use this technique to allow a learner to select a language, then show closed captions in the selected language (pretty cool).

Let me know if it would help to see a small working model of this approach, I could probably find a .story file I could clean up.

For something more elaborate, here is a very nice closed captioning solution posted by forums Super Hero extraordinaire Steve Flowers -

This discussion is closed. You can start a new discussion or contact Articulate Support.