Unable to get jump to Next slide trigger to work on a slide layer

Hi there, (Storyline 2)

I want a user to be able to click on Next, only when reaching the last slide layer. The trigger, when created, immediately jumps onto the base layer. so I have to copy it onto the slide layer desired. This trigger however never works.

I have tried adding the triggers to hide/disable Next on the other layers, but the only solution seems to be that the next button must be active on this base layer only.

Can anyone advise?

9 Replies
Brian Allen

There are ways you can get this to work, but I'm concerned about how the next button will work if the slide is revisited later on in the course.  This also can be fixed, but requires extra work unfortunately.

I copied your next button to the base layer, moved it off stage and set its initial state to "hidden".  I then added a trigger to it telling it to jump to the next slide when it's state is changed to "normal".

On your last layer, I changed the trigger for your next button there to change the state of the next button on the base layer to "normal" when clicked.  This causes your course to advance to the next slide.

Finally, back on your base layer, I added a slide level trigger at the beginning to reset the state of the next button on your base layer to "hidden", so that if someone revisits the slide your next button functionality will still work.

Seems like a crazy amount of work around for a simple feature, but it does work.

Probably a 100 other ways to do it, but this is what popped in my head this morning.

I've attached the file, good luck, and hope this helps!

 

Steve Flowers

It's a known issue. Hoping to see a fix for this eventually. My fix is a little bit different than Brian's. I use a number variable and a "listener trigger" on the base slide.

  • Create numeric variable goNext
  • Create trigger that jumps to the next slide when the variable goNext changes
  • Create a trigger in your layer on the button to add one to goNext when the button is clicked.

One cool thing about using a variable is you can fire a set of triggers from anywhere, including from Javascript, simply by incrementing the value. In this way you can create "functions"  using methods similar to Brian's above.

I'll routinely create objects with a default state of hidden. Adding triggers to this shape, the object is set to act as a function. By adding a change state of object to hidden as the last trigger, the object is queued up to fire again just as soon as the sequence finishes. Pairing this with the variable listener, you can handily setup trigger sets in your master slide that can be executed from the base slide.

Brian Allen
Steve Flowers

By adding a change state of object to hidden as the last trigger, the object is queued up to fire again just as soon as the sequence finishes.

Ah, so this is how you fix the slide revisit issue I was worried about.  Any way you could share a small example of how you do this?  I'm not sure I would have tried it doing a "jump to slide" action, thinking that any triggers after the jump to slide would not have fired.

Brian Allen
Kelly Bardsley

This only works the first time you visit the slide and I can't  select 'reset to initial state' because the user needs to keep visited states 'visited'.

Yes, my reset state trigger isn't working...

To fix this I've implemented Steve's suggestion above and created a number variable named "NextButtonSlide1".

I then changed the trigger on the off stage base layer object to jump to the next slide when "NextButtonSlide1" changes.

Finally I changed the trigger on your last layer's next button to adjust the variable "NextButtonSlide1" by 1 when it's clicked.

Doing this works each time the slide is revisited, even without resetting to initial state.

I've attached the modified .story file, hope this helps!