I have a base layer with 6 layers. Once a layer shows (and the learner has time to read everything on the layer) I would like to return to the base layer. Any ideas on how to set that up? A variable?
Wait...I want the learner to decide when they want to move on. Should I just make each layer a slide instead? Or do you mean add like an "X" in the corner to close it out?
No, I would keep your layers and add a button, like Michael said above with a trigger attached "Hide this layer". So the user has the ability to move on when ready..
Which element's state are you looking to have the "visited state" appear associated with? It may help if you're able to share the .story file here so that we can take a look and offer specifics based on that.
The button on the base layer"Change Next to Normal when all 6 bevel states are visited" will not work. The "state is ..." in the wizard cannot go in the "When.." portion of the trigger, because it is not an action. therefore it cannot initiate a trigger. It only works in the "condition" part of a trigger. It is a mistake for the wizard to allow it to be placed in the "when ..." portion of a trigger.
So I erased that trigger, and put on on the Pre-contemplation layer. It sets Next to normal when the user clicks the Multiply shape if the states of the 6 bevels are visited. Notice that "User clicks ..." is an action, something that can start a trigger when it happens, if the conditions are right. The state of the bevels are the conditions.
If you visit the other 5 layers, then visit the Pre-contemplative layer, when you click the multiply, the Next button turns Normal. Copy that trigger and paste it to the multiply button on each of the other layers, and you can visit them in any order, and it will work,
I'm glad Walt was able to give you an idea - but I also wanted to point out that your bevel boxes were set to change the state of your next button to normal when the state of all of them are normal - but that is the starting state for them too, so that doesn't seem like it would work the way you'd want anyway. If you just change it to when "visited" then the next button becomes active.
If I do that then on my last beveled button the next button changes to normal. I would like it to back to the base, then for the next button change to normal.
Try this original version of the file. I put the correct trigger only on the Per-contemplation layer, so it only works if you visit all the other layers first.
To have the last layer visited make the Next button visible, that layer must have that trigger. Personally, I would put it on each layer so the user can visit them in any order, and closing the last one will return to base and make the Next button visible.
That issue appears to have something to do with the order in which the visited state is marking the box as "visited." The built-in trigger appears to mark box 6's state as visited whenever the layer is revealed rather than maybe waiting for the x to be clicked on to change the state. I'm trying to figure out how to manually beat the system and delay the button state change.
You're right about the timing. This is only one of the reasons why I prefer to use custom states and variables for this sort of activity in my personal work. It gives so much more flexibility, and more importantly, predictability than the built-in states. Visited is good for what it is designed to do, but it has its limitations. For example, in this case, it can only indicate that the user has clicked the button on the base layer. Putting a trigger to change the base button state to a custom state can be put on the button to close the visited layer. That way you know the user at least saw the layer, and clicked on it.
Glad Walt was able to assist and make that adjustment - it's considered visited once the user clicks on it, unless you set it up to be based on something else occurring on the layer.
I added audio and now my next button doesn't show at all. Thoughts? Also, I would like the learner to listen to all the audio on the base layer BEFORE they can click on any of the boxes. Any way to lock those down?
I figured out how to have the learner listen to all the audio on the base layer BEFORE they can click on any of the boxes, but still need help for the next button.
If I put change the next button to normal when all layers are visited, when the last layer is clicked, the next button is normal. I want it so they have to click out of that layer, go back to the base layer and THEN the next button is normal. What am I missing?
What is your trigger to change the Next button to normal now?
Can you change the trigger to be Change state of Next button to normal when media completes 'the audio file' and add in the conditions you already have for the boxes you wanted viewed.
The triggers you have on each layer will work to Change Next. All you need is some way to make the user listen to the audio before they can close the layer.
1. Delete this trigger on the base layer:
Do steps 2 and 3 for each layer.
2. Set the initial state of the X to hidden:
3. Set this trigger on the audio on the layer:
That way, the X becomes visible on the layer when the audio ends. When the user clicks the X, the layer is closed, and your other trigger makes Next visible if all layers have been visited.
34 Replies
Add a button/object to each layer with a trigger to Hide This Layer.
Thanks!
Wait...I want the learner to decide when they want to move on. Should I just make each layer a slide instead? Or do you mean add like an "X" in the corner to close it out?
Okay...added the "X" in the corner and that works. However, it doesn't automatically change my state to visited.
No, I would keep your layers and add a button, like Michael said above with a trigger attached "Hide this layer". So the user has the ability to move on when ready..
So how do I fix my visited state?
Hi Kendra,
Which element's state are you looking to have the "visited state" appear associated with? It may help if you're able to share the .story file here so that we can take a look and offer specifics based on that.
Here is the file. I would like each box to go to the visited state after the layer has been visited.
The button on the base layer"Change Next to Normal when all 6 bevel states are visited" will not work. The "state is ..." in the wizard cannot go in the "When.." portion of the trigger, because it is not an action. therefore it cannot initiate a trigger. It only works in the "condition" part of a trigger. It is a mistake for the wizard to allow it to be placed in the "when ..." portion of a trigger.
So I erased that trigger, and put on on the Pre-contemplation layer. It sets Next to normal when the user clicks the Multiply shape if the states of the 6 bevels are visited. Notice that "User clicks ..." is an action, something that can start a trigger when it happens, if the conditions are right. The state of the bevels are the conditions.
If you visit the other 5 layers, then visit the Pre-contemplative layer, when you click the multiply, the Next button turns Normal. Copy that trigger and paste it to the multiply button on each of the other layers, and you can visit them in any order, and it will work,
Hi Kendra,
I'm glad Walt was able to give you an idea - but I also wanted to point out that your bevel boxes were set to change the state of your next button to normal when the state of all of them are normal - but that is the starting state for them too, so that doesn't seem like it would work the way you'd want anyway. If you just change it to when "visited" then the next button becomes active.
Hope that helps!
If I do that then on my last beveled button the next button changes to normal. I would like it to back to the base, then for the next button change to normal.
Try this original version of the file. I put the correct trigger only on the Per-contemplation layer, so it only works if you visit all the other layers first.
To have the last layer visited make the Next button visible, that layer must have that trigger. Personally, I would put it on each layer so the user can visit them in any order, and closing the last one will return to base and make the Next button visible.
That issue appears to have something to do with the order in which the visited state is marking the box as "visited." The built-in trigger appears to mark box 6's state as visited whenever the layer is revealed rather than maybe waiting for the x to be clicked on to change the state. I'm trying to figure out how to manually beat the system and delay the button state change.
Walt...this is perfect! Just what I wanted. Thank you!
Kimberly,
You're right about the timing. This is only one of the reasons why I prefer to use custom states and variables for this sort of activity in my personal work. It gives so much more flexibility, and more importantly, predictability than the built-in states. Visited is good for what it is designed to do, but it has its limitations. For example, in this case, it can only indicate that the user has clicked the button on the base layer. Putting a trigger to change the base button state to a custom state can be put on the button to close the visited layer. That way you know the user at least saw the layer, and clicked on it.
Hi Kendra,
Glad Walt was able to assist and make that adjustment - it's considered visited once the user clicks on it, unless you set it up to be based on something else occurring on the layer.
I added audio and now my next button doesn't show at all. Thoughts? Also, I would like the learner to listen to all the audio on the base layer BEFORE they can click on any of the boxes. Any way to lock those down?
I figured out how to have the learner listen to all the audio on the base layer BEFORE they can click on any of the boxes, but still need help for the next button.
The same principles would apply. So any triggers you wrote for the other boxes can also be written for the Next button.
If I put change the next button to normal when all layers are visited, when the last layer is clicked, the next button is normal. I want it so they have to click out of that layer, go back to the base layer and THEN the next button is normal. What am I missing?
How do they click out of that layer? Put a trigger on that object to make Next button normal.
The "x" I put on each layer. See attached.
What is your trigger to change the Next button to normal now?
Can you change the trigger to be Change state of Next button to normal when media completes 'the audio file' and add in the conditions you already have for the boxes you wanted viewed.
It's on my base layer and it says change to normal when bevels 1, 2, 3, 4, 5, and 6 are equal to visited.
The triggers you have on each layer will work to Change Next. All you need is some way to make the user listen to the audio before they can close the layer.
1. Delete this trigger on the base layer:
Do steps 2 and 3 for each layer.
2. Set the initial state of the X to hidden:
3. Set this trigger on the audio on the layer:
That way, the X becomes visible on the layer when the audio ends. When the user clicks the X, the layer is closed, and your other trigger makes Next visible if all layers have been visited.
This discussion is closed. You can start a new discussion or contact Articulate Support.