10 Replies
Walt Hamilton

Variables are not needed for your fishes story. Variables are used so this slide can know what actions the learner took on a different slide. If you stay on the same slide and visit layers (like the fishes story) all the action is on the same slide and there is no need for variables.

In the attached story, there are no variables.

You can click here to create and manage variables:


Walt Hamilton

I looked at your fishes story. You didn't have the Next button Hidden, so it didn't show when the conditions were right. I changed the triggers so the third slide shows the Next button.

I got home last night, and the cat insisted he had not been fed all day, and was STARVING. I hadn't been there all day, so I didn't know, and my wife was off to her quilting party, so I couldn't ask her. Fortunately, she left a note on the counter that said "I fed the cat", so I knew not to feed him again.

The note she left me is the variable. I couldn't see her feed the cat, but I could see the note and know what went on while I was gone. Storyline is just like I was. One slide has no way of knowing what happens on another slide, but it can read a message left for it in a variable, and know what the learner did on another slide, provided you, the developer used those actions on that other slide to change the contents of a variable.

The cat got pretty insistent, so I gave him a snack, crossed out her message, and wrote, "He's also had a bedtime snack", and went to my meeting.

The note is the variable. Everybody can see it, and it never changes unless you, the developer, create a trigger to change it.

My wife is getting older (I'm not, just she), and takes a bunch of medicines. She puts them in one of those little plastic gadgets with seven boxes. Every night, (if she remembers :) ) she looks in the box for that day. If it is empty, she knows she has taken her pills that day.

The pill box is the variable. She can't always remember everything, but if the box has pills in it, she knows to take them.

Variables are designed to be seen everywhere, but not heard (much like small children of a previous generation). SL cannot multi-task, so only one slide at a time can be active. SL has no memory, so when a slide becomes active, it can't know what went on while it was hibernating. That's why variables were invented. Each slide can look into the box (variable) and see what is in there now, but can't know what it used to be, and doesn't know if or when it last changed. I couldn't hear my wife write the note, but I can read it and know what went on at home while I was not there.

You don't need variables to do what you are trying to do in the fishes story. The purpose of variables is so one slide can know what happened on another slide. Michael used them in his 4 Button story because his menu takes you to another slide. He sets the menu slide to Return to initial state on Revisit, so the timeline will start again, and he can use it to trigger hiding the Next button. Resetting the slide causes the State of all the objects to revert to their initial state. The only way his menu slide can know which branches have been visited is to have each branch set a variable when it is finished. When it restarts, the menu slide can read the variables and know which branches have been visited.

There is no need for variables in navigation, unless menu items take the user to other slides, and you want to give the learner a visual indication of which branches they have visited, or if you need to have a way to ensure that the learner has visited all branches.

Walt Hamilton

When you click a button with Visited state, it changes to Visited and stays in that state. When you click it again, it stays in Visited state.

When you click  a button with Selected State, it changes to Selected and stays in that state. When you click it again, it changes to Normal.

Visited is a one-time on or off situation, while Selected toggles. If it has both, Selected takes precedence, and toggles between Selected and Visited.

Walt Hamilton

In its current form, the trigger only enables Next if all the pictures are in Hover state.  An object can be in Hover state only while the mouse is above it. If the mouse moves, the object returns to its former state. Hover is not a persistent state, so it is not possible for all the pictures to be in a hover state. When you view a layer, you need a way for SL to know the other layer has been seen.  See the attached for one way to do this.

When a layer is shown, it sets a variable which lets the whole world be able to find out if that layer has been seen. Then it checks to see if the other layer has been seen. If it has, Next is enabled.  To add layers, give each its own variable, and add that variable to the conditions on the triggers that enable Next.