Different audio or layers on return to navigation page?

May 08, 2013

I'm not sure Storyline can do this.  What I've done is made a main navigation page with buttons that go to various scenes.  What I want is the nav page to be different when it is visited again.  So, when the person finishes the first presentation, and they come back to the nav page, it looks and/or sounds different.  Is this possible? 

7 Replies
Sales Framework

Yes, this is possible in a variety of ways, depending on exactly what you want to change on your slide. Here is one way, without knowing too much about the changes you're looking for:

  1. Create a layer on your main navigation page that includes the audio/content you want to happen when the user revisits the slide. 
  2. Create a true/false variable set at False. 
  3. Somewhere in your presentation, after the first time they visit the slide, create a trigger to change the variable to True. 
  4. On the navigation page, set a trigger to play your new layer when the timeline starts if the value of the variable is True. 

Here is a tutorial that may help, although it changes the state of an object using the true/false variable instead of showing a layer. You'll get the gist though. 

http://learn.articulate.com/true-false-variables/

Rebecca Fleisch Cordeiro

Hi Gordon and April,

April, you are correct that a combination of layers and T/F variables will allow you to change the Main navigation page in the way that you described.

I went a little bit further in my thinking...perhaps too far (I have a tendency to do that). Oh, and I didn't add any audio, I just went with the part of your question, Gordon, where you said, 'they come back to the nav page, it looks and/or sounds different."...and I went only with looks different.

So I set up a main navigation page with 3 layers.

And 3 Scenes/Sections in my course.

A Home button in each section returns Learners to the Main Menu after they've finished the Section and sets a variable to True.

Back on the Main Navigation page, a trigger is set to show a layer when the timeline starts if the variable is True.

All as you suggested April.

Then I thought, what if Learners have free navigation. So they visit the 3rd section first, which sets that variable to True. And back on the Main page, that's the bottom trigger in the list. Because it's at the bottom, Storyline is always looking at it first, and once it's set to True, Learners always end up on that layer. And now they always see the same scene.

To mitigate that, I added a trigger to each of the layers that returns the variable to False when the timeline starts on that layer.

Then I ran into another problem: if Learners returned to the same layer twice in a row, for some reason the base layer object that I have hidden would show. I mitigated that by setting the properties of the base layer to Reset to the initial state when revisiting.

I think it's doing what it's supposed to now. Anyway, it got me thinking, and in case it can help anyone else, thought I'd post.

(P.S. Flowers are from my garden ;)).

Rebecca Fleisch Cordeiro

Tx, Gordon. You did get my brain working!

Phil, at risk of this sounding like a love-fest, getting a "star" on my forehead from you has made my weekend . Also, for anyone who's a bit confused, I think perhaps, since this story isn't a D&D, you were referencing another page where I'd put tog. an example for a community member who had a D&D question?

Anyway, thanks and a good weekend to all.

Gordon Wimpress

Update on this topic:

So, while it was a good answer, I couldn't really go with Rebecca's solution, because the slides were already made without a home button, so adding one to all of them was just not possible.  It might've worked if I could have attached a condition to the name of the slide on the menu on the player!

After wrestling with all sorts of triggers and variables, trying to figure out which one would run first, etc., etc., I finally came up with a nice solution:

To be a little more clear as to what I was trying to do, what I wanted was for 3 different pieces of audio to cycle, a different one playing each time the user navigated back to the page, and start over on the 4th visit.  But this idea would work for a lot of different situations that need counting....

I have the base layer with all the graphics, 3 layers each with a different piece of audio on it, and 5th layer just to hold a trigger.  On the base, I put these triggers:  show layer 1 if variable x = 1, show layer 2 if variable x = 2, show layer 3 variable x = 3.  The initial value of the variable = 0.

This 5th layer has a trigger that adds 1 to the value of variable x each time the time line starts.  THE TRICK IS to set this layer's properties to "resume saved state".  All other layers should be set to "reset to initial state".  What this does is basically create a counter that adds 1 to the value of the variable, without resetting the variable to its initial value each time the time line is begun.

The other trick, to make these layers cycle, is I put a trigger on layer 3 to set the value of variable x = 0 when the timeline starts.  This trigger only happens when layer 3 is shown.  So then the next time the user comes back, layer 5 does its thing and adds 1, the variable now = 1, and so layer 1 plays again.  Cool huh?  

I made sure to put the 5th layer first in the stack above the base layer, so its operation happened first, before layer 3's, so the variable wouldn't get stuck at 0, and you get silence every 4th visit.  I'm not positive this layer order matters, but it works, so I'm not going to argue.

For such a simple-seeming solution, this took me a long time to finally figure out!  Whew!!! 

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