How can I lock moving "Next" before visiting layers via Hotspots?
Jul 25, 2015
Hi Heroes!
I have a screen capture of an Excel spreadsheet. I need to restrict moving forward in the course until the learner has visited six layers explaining each spreadsheet cell purpose. My client insists on using screenshots of the actual spreadsheet rather than recreating the spreadsheet cells with objects. Therefore, I'm limited to using Hotspots to trigger getting to the layers.
If the learner selects "Next" before visiting all six layers, I want to show another 'warning' layer politely asking them to visit all six explanation layers before moving on.
How can I lock this navigation until all six layers are visited AND have the warning layer show if they try to navigate out early.
File attached.
Thanks!
10 Replies
I think I solved your problem with a couple variables I created. The main variables are; %clicks% and %warning%. %warning% starts off as "True" and calls the warning to popup rather than the user moving forward.
As the user clicks on each section the %clicks% variable goes up +1. When %clicks% = 6 the warning variable is then set to false and the user can continue.
Hope this helps and if you need anything else please feel free to contact me...
I am always available for contract work if interested contact SeanKern@hotmail.com
Thanks,
Sean P. Kern
SeanKern.com
you have done great work, there is only one detail missing. Only objects that are clicked on will automatically set their state to visited, so you will have to set it manually for each of your layers. Also, I think you'll find you want to change the order of the triggers for the NEXT button, so it checks the conditions before it jumps.
Check the picture. It shows an example for one of the layers. You have to set them individually for each layer, so they will refer to their own rectangle.
Sean,
What if a user visits one layer twice, and misses another one?
You can get around that by using a separate variable for each layer, and checking all of them before allowing the user to advance.
Walt,
My work should account for the classic double visit problem. If you look at my attached .story above^ you can see I made individual variables for each hotspot.
When a user visits a hotspot the individual hotspot's variable moves up 1 on the condition the hotspot's variable is <1. (Essentially a "true and false" variable but as a Digital Forensics undergrad I love my 1s and 0s)
When a hotspot variable changes the the %clicks% variable moves up +1
So for example: if a user clicks the "reported effect hotspot" the variable: %reportedeffect% would change from 0 to 1. If a user clicked this hotspot again nothing would happen because %reportedeffect% ≮ 1.
Each time the individual hotspot changes from 0 to 1 the variable %clicks% moves +1 effectively limiting %clicks% to a sum of 6
I appreciate your feedback and look forward to your response :)
Example of my true false code:
Good. That works.
Here's a method that works without variables. The State event is pretty handy for listening to states of multiple objects.
Instead of using hotspots (which don't offer states), I made several shapes with transparent fills. These have outlines but you can easily do it without outlines. The State listener trigger will fire when the state of all, some, etc.. of the objects are in the right state. In this example, I used this trigger to turn on another object. This object is used in a condition on the next button.
The second slide uses a similar setup but acts directly on the states of the next button.
Completely doable with variables but this way is a little less setup. I've used this method to work out complex interlocking behaviors (some shapes feed the on / off state of other shapes which in turn combine to affect other behaviors). This is kind of a way to setup a "state machine", in both a literal and figurative sense:)
Hi everyone,
Got it working thanks to you all! What's neat about this thread, and not unique to SL, is you've all found multiple ways to accomplish the same result. I finally chose a true/false variable for each layer approach.
Wonderful ideas from all of you!
Thanks,
Rick
Rick,
Glad to hear you got it working!
Sean
It is great Rick and I'm glad that you were able to get this working. Thanks for popping in to update.
This discussion is closed. You can start a new discussion or contact Articulate Support.