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
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. :)
Thank you, but I forgot to mention that also the next button I am not allowed to use as we have to use standardized navigation buttons on the slide as well. It really has to be something that works within the slides itself if you will, not using any player buttons.
Then you only have to change the trigger with "variable change to true when user clicks next" to "when user clicks your custom navigation button". Should work fine too.
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.
that sounds terribly logical and easy :) thanks, I will try that.
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
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.
This post was removed by the author
True, I forgot including conditions in Step 2. I've edited my post above so including those should correct both issues.
Ahh that's great, I'm going to try that.
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.
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.
Somethimes its just the order of trigger or the kind of trigger you use. Could you share your menue with us so we could have a look at the trigger?
I can't upload the file itself but I copied the triggers into a .jpeg
The one in blue is the trigger that is supposed to change the text box to normal so that it is usable
The trigger in white is then the trigger when you click on the text box.
The text box is the menu item.
Hi David,
When is the "menucount" variable changing? For that trigger to be able to execute that change has to happen on that particular slide prior to that trigger- so that can be a tricky one to utilize. You may want to look instead at when the variable is a particular value.
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.
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
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.
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.
I'll just have to test it then. It'll have to wait till next week but that's ok, I'm still ahead of the deadline so I have time to play around still
Ahead of the deadline? We hardly ever get to hear that :)
This discussion is closed. You can start a new discussion or contact Articulate Support.