Replay a slide

Hi all,
From what I've been reading, there is no nice way to replay a slide. I'm looking to replay a slide with audio but I want my next button to already show up if the user has already viewed the slide. (i.e gone ahead to page 3 and then back to page 2) 

I have custom navigation and am not using the player. My next button is set to hidden and a trigger sets it to normal once the user has clicked on all 3 buttons I have on the slide. (Because I don't want them skipping ahead if it's the first time they're viewing the slide). 

I've tried a replay button with a trigger to jump directly to the same slide but nothing is happening.  I've tried using a variable (PageComplete= False) and setting it equal to true when the slide timeline ends and enabling the next button at the same time. However, when I go back to that slide, the next button appears and the audio plays but the slide timeline really doesn't move. When I click on to the next slide, if the audio was previously playing, it's still playing. So now I've missed audio on slide 2.

Is there any way at all to do this? Thanks for any info! 

10 Replies
Brent Daviau

Hi Jodi,

I think I understand what you are trying to do but it also sounds like there may be a lot going on on these slides. A few initial questions come to mind...

1. What version of Storyline are you using?

2. Is the slide itself set to "reset to initial state?"

3. Do you have any layers on this slide and if so are they also set to "reset to initial state"?

Bob O'Donnell

If you're using buttons for your 3 items on your slide, try adding a variable to the Next button that checks to see if the state of all 3 items is visited. If so, then set Next to normal. Code would look something like this:

Change state of the next button to Normal
When the state of X, and Y, and Z are visited.

I think in the variable box "On" is set to "All of", then select each of your buttons and set the state as visited. Should work. (without seeing your program)

If you don't want the audio to play you can also pause the timeline using similar code.

Walt Hamilton

"My next button is set to hidden and a trigger sets it to normal once the user has clicked on all 3 buttons I have on the slide.  "

You have more options if you set the default state to normal, then create a trigger to set it to hidden when the timeline starts on condition that ... and use the opposite logic of the trigger that sets it to normal.

"From what I've been reading, there is no nice way to replay a slide."

The best way to do this is to place a completely blank slide in front of this slide. Create a trigger to jump to this slide when the timeline starts. Jump to the blank slide, and it will start this slide, usually fast enough that you won't notice it. Even if there is some delay, since the slide is blank, it looks like the previous slide.  Always jump to the blank slide and never to this slide, and this slide will restart, according to the "when revisiting" settings.

Jodi Albarano

Hi Brent

Thanks for the reply. I'm using Storyline 2.

The slide was originally set to "Resume saved state" so that the custom next button was already there if I went back to that slide and I didn't have to listen to all of the audio and go through the entire slide interaction again. The problem with that is it only replays the audio and not the interaction. So it's worthless. I just wanted to give the user the right to hit NEXT once they've seen what they needed to see for the 2nd time.  I then changed it to "Reset to Initial State" but with a custom next button, I can't get it to come up because I can't use a variable as a listener to see if the slide has already been visited. I need: IF this slide has already been visited, show the next button but replay the entire slide, too. 

I do have layers and they will not replay if I use "Resume Saved State." But like I mentioned above, if I use "Reset, I have to sit there and wait for the entire slide to replay all over again until I can hit next. When all I really needed to do was see the first part of the slide again and hear it.The layers are all set to "Automatically decide." 

Brent Daviau

Jodi,

I have set up several slides like this:

1.You want to set everything to "reset to initial state"

2.Create a true / false variable that changes to true when timeline ends.

3.Create a trigger to change state of next button when timeline starts if that variable is true. Make sure this is a player trigger.

If you have the ability to share the file, I'm happy to show what I'm referring to. Hope this helps!

 

Jodi Albarano

Hi Brent,

I tried this today and it works with one exception.. when I go to the next slide (Slide 2), the NEXT button is already appearing. (I'm assuming because the variable I used (ReplaySlide) is now set to true based on the previous slide's finish. Which tells me I'd have to use a different variable for each and every slide. Any way around this? I'm using custom navigation buttons that appear once the audio finishes.

Walt Hamilton

No matter where the learner comes from, you want SL to remember that the audio on SlideX has already been played, so it isn't played again. If you had a human running things, you would put a sticky note on each slide that says "This audio has not/ has already been played." You would have to have a note on each slide. Think of variables as sticky notes to help SL know what is going on. So, yes one variable for each audio you want to keep track of.

Any way around it? Like most questions in the computer world, the answer is yes, if you can afford it. I imagine you could write a javascript (placed on the master) that executes every time a slide starts or an audio finishes. It would create and manage a database of variables in SL and could be used to know which audio had played. Technically, not too complex, but I'll leave it to you to decide whether it is worth the effort or not.