How can I lock moving "Next" before visiting layers via Hotspots?

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.


10 Replies
Sean Kern

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 


Sean P. Kern 

Walt Hamilton

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 Kern


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 :)



Steve Flowers

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:)