custom menu with unlocks using variables not working as needed

Sep 14, 2016

Hi all,

I have to work with a menu within the slides themselves. My company requires this. So I cannot use the Storyline 2 menu functions.

Every slide has a menu layer therefore, but I do not want people to move ahead in the course. I do however want people to be able to move back and forth on the slides they already visited.

So I thought about using a True/False variable for each slide. My idea was that as soon as I go to the next slide, the appropriate variable goes to True which then unlocks this next slide in the menu of all the previous slides. However, this doesn't seem to be working. My guess is that the variable gets reset to False when I go back to a previous slide.

The trigger I set for the variable is that the unlock for the next slide is triggered at the end of the time line of the current slide. But when I go to the next slide and go back to the previous slide the menu item is not unlocked. That's why I assume that by going back to the beginning of that slide the unlock is also reset.

I guess I just wonder how I can stop it from resetting or if there is another way of doing this.

21 Replies
Susi B
David Zurhaar

The trigger I set for the variable is that the unlock for the next slide is triggered at the end of the time line of the current slide.

 

Maybe you should trigger it when user clicks on the next button. I don´t know how long your timeline is, maybe that´s the problem. Have build you a little menue in the attached file. :)

Dane James

I agree with Susi, if you set to unlock at the end of the time line you would have to let the slide run till the very end of its timeline before going to the next slide. I would insert a reference to the variable like Susi did and make sure its changing from false to true. I like Susi's idea of using the next button or  you could change it at a point in the timeline before the end of the slide .

A trigger would be needed to tell your variable to change back to false and if you don't have one  it should not change.

Alexandros Anoyatis

Another way is to replace all those true/false variables to a single number variable in order to track things.

Here's how it would work.

1) create one numeric variable (say progress) with initial value of 1.
2) set a trigger to each slide incrementing that value when timeline starts ( slide 2 should assign 2 to progress, slide 3 should assign 3 to progress, etc, such as:

Slide 2: Assign 2 to progress IF progress is 1
Slide 3: Assign 3 to progress IF progress is 2
Slide 4: Assign 4 to progress IF progress is 3

and so on.

3) change your triggers in your menu slide to the following format :

Go to slide 2 when user clicks object 'slide 2' IF progress is greater than or equal to 1
Go to slide 3 when user clicks object 'slide 3' IF progress is greater than or equal to 2Go to slide 4 when user clicks object 'slide 4' IF progress is greater than or equal to 3

and so on.

This way you don't need to track a double/triple digit of true/false variables within the course.

As a bonus, you can include the menu on the master layer once and call that layer instead of reinserting it in each slide, which makes your life harder dev-wise.

Hope this helps,
Alex

David Zurhaar

I tried attaching it to the next button but once I go back to the previous slide using the menu, it goes back to the beginning of the previous slide and that seems to reset it again because the menu option is not unlocked when I go back.

 

What Alexandros proposes I also thought about, but the issue there is that when you go back from 2.8 to 2.1 and from there go to 2.2 using the normal sequence again it will again add 1 to the variable. This is why I decided not to do that.

Unless there is some neat trick to lock the True value even when going back, I fear I will have to take this option out of it or just allow people the freedom to jump around as they please.

 

Still, thanks for your input. It's very much appreciated.

Susi B
David Zurhaar

I tried attaching it to the next button but once I go back to the previous slide using the menu, it goes back to the beginning of the previous slide and that seems to reset it again because the menu option is not unlocked when I go back.

I adjustet my first file and made a second scene for you.

In the first scene a hotspot is blocking the next button as long as the timeline plays and the user can click it after 5 seconds. So now you can use your trigger "when timeline ends" to unlock the next slide. This might be useful when you have media/audio in it and you want them to look/hear it completely. The slides in this scene are set to "resume to save state" so once the slide has been looked at, it don´t start from the beginning.

In the second scene the variable changes when the timeline starts and unlocks the next slide. The slides in this scene are set to "reset to initial state" so everything starts from the beginning.

Just have a look at my trigger it works fine and the variables stay true once they changed to true as you can see on the slides. The menue and buttons are on a master slide.

David Zurhaar

I see what you mean Susi. What complicates it for me is that menu I have is on a different layer so it can appear when asked for and disappear again. Both your and Alexandros's way of dealing with the variable seem to work, but the trigger to make the clickable item change status from disabled to normal is not triggering even though the trigger is there. I  have to wonder if this is because it's on a different layer or something.

Edit: Just to clarify, I have set the clickable menu item to disabled as default. Then the trigger should make it go to normal where two things happen: 1) you can use it to jump and 2) the colour of the text changes so you can see it's available.

Alexandros Anoyatis
David Zurhaar

Edit: Just to clarify, I have set the clickable menu item to disabled as default. Then the trigger should make it go to normal where two things happen: 1) you can use it to jump and 2) the colour of the text changes so you can see it's available.

 

Then all you need to do (in addition to what I wrote above) is add conditional triggers to the menu layer (a single layer on the master slide layout out to work best at this point) in the form of:

Change state of object slide 3 button to Normal when timeline starts if progress is greater or equal to 2.
Change state of object slide 4 button to Normal when timeline starts if progress is greater or equal to 3.
Change state of object slide 5 button to Normal when timeline starts if progress is greater or equal to 4.

and so on.

You should also make the menu slide's timeline reset to initial state when revisiting for the check to take place every time.


David Zurhaar
Alexandros Anoyatis

You should also make the menu slide's timeline reset to initial state when revisiting for the check to take place every time.


 

Thanks Alexandros. I followed your earlier advice for the variable and that part is working as you described. This sounds like the missing part to me.

I quoted the last part of your post because I actually am not sure how to do this. Does it not do this automatically?

Edit: It's working! Thanks Alexandros

David Zurhaar
Ashley Terwilliger

Hi David,

Glad you figured it out - you can adjust that setting from the slide properties as detailed here. 

ahh brilliant. That solves my final issue that I ran into. I may have been a bit ambitious for my first e-learning but I am having a lot of fun doing it.

Edit: One question on that if I may. When the slides reset, does it also reset the counters of variables? Some of my slides use variables to trigger things on that slide only and they need to reset too, however I do not want the MenuCount variable that I based on Alexandros's suggestions to reset.

Ashley Terwilliger-Pollard

Hi David,

Having fun is what it's all about! Oh, and probably getting the work done. :) 

As for the slide properties it'll reset elements on that slide on a revisit - based on initial value, triggers, etc. Based on Alexanders' description it seems like the variable reset is happening on an earlier slide? So that should be safe no matter what, but variables in general will need to have  a trigger to reset the variable, variables are independent of slides and are not affected by the reset to initial state.

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