Forum Discussion
Disable Next Button Until All Layers are visited
I had to implement something similar just yesterday. Here's how I went about it. I hope it helps you.
In my case, there was a base layer with images. Clicking each of them would trigger a new layer with a video. The request was that people had to finish each video before moving on.
I created four variables. For reasons not worth discussing, they were called varWhyA, varWhyE, varWhyM, and varWhyR. They were true/false (i.e. boolean) variables with a default value of false.
In each of the layers containing a video (i.e. all but the base layer), there was a slide trigger which would adjust the value of the video's associated variable to true. I tried setting it to when "timeline ends" on "this layer," but it would never change the variable, so I went with setting it when "timeline starts" on "this layer." There's also an option for picking a certain point in the timeline that counts as complete. I might go back and try that.
Then you load up your Next button (on the base layer, in the Player, or both) with some object triggers to keep users from advancing until all of the vars are true. To improve the UX, I also have a warning layer (layerProgressWarning) that appears if they hit btnNext before all the conditions are true. Of course, you could also gray it out or make it not visible:
As an ID, I'm not a big fan of this sort of thing. I don't like learning to be a forced march. But I did like it as a problem to solve.
When you're doing this sort of thing, add a testing text box to your slide so you can see the status of the variables. You can drag it off the stage when you're done with it, which will keep it out of frame but still available, to you, if you need to do more testing later. Mine looks like this, in the editor:
Thanks, this helps a lot and is pretty easy to set up and doesn't allow them to 'cheat' the system.