Custom Next Button Invisible

Dec 19, 2016

Hi. I have removed the player prev/next buttons and have custom buttons. I have designed a menu slide which takes the user to other screens and have a next button with an initial state of 'hidden' and a trigger which changes the state to 'normal' once all menu items have changed their state to 'visited'. 

This works fine in my preview and seems fairly simple. However, in my published version for some reason the next button is invisible. When viewing the published file locally, the button is there and 'clickable' - but you cannot see it. In the published version on my LMS it's not there at all. I'm very confused! 

I've checked that it appears for the whole duration of the timeline. My base layer settings have been changed to 'Resume saved state'. I also selected 'Bring to Front' on the next button image in the timeline. The trigger for this next button to be change to normal is at the top of the trigger list too. 

It's a .story file I'd rather not have to share if I can get a quick fix answer, but if not I'll have to reduce it to share with you all because I'm finding it quite odd. I have included a screenshot showing the trigger in question and the layout of this slide in the hope that this might help. 

7 Replies
Walt Hamilton

"When state of ... is" is not an action. SL should re-write it to be a true "When state of ... becomes"  Then it would be useful to us. As it is, it only works if you get lucky with the timing, especially if users are visiting other layers or slides. Your experience of it working sometimes, and not others bears out that it cannot be trusted to always work.  To rely on it, you need to change it to be initiated on an action.

Additionally, the visited state is reliable if the users visit layers on the same slide, but not so much if they visit other slides.

To be sure that this works, I usually take two steps:

1. use a custom state named something like "Completed" instead of the built-in state "Visited"

2. initiate the trigger to change the state of the next button by an action (When timeline starts, When user clicks, etc.) instead of a condition.

FYI, "When state of ... is" works very well in conditions, where it belongs.

Brett Archer

Hi Walt - thanks for your reply. You seem to be right about the unreliable nature of the "When the state of..." feature. I understand your point that the steps you've outlined will be more reliable, but I'm not sure how to implement them to change the state of my next button the way I want to. 

I'd like it to be revealed only after the user has clicked (visited) each menu item (which does take them to other scenes). Do you have a suggestion for how to achieve this with an action?

Perhaps if I have each clickable item add a value to a variable, then changed the state of the next button once the variable reached a number. I'm going to test this out now - but it's a pity the "When the state of... is" isn't working for me because it seems like the perfect solution. 

Walt Hamilton

Brett,

If the items the user visits are other slides, you can set the menu slide to reset to initial state. That means that each time they return to it the timeline starts, and I use that to initiate my triggers.

I give each menu item a custom state and a T/F variable. When the timeline starts, I set the next button to hidden. I set each menu item to "Completed" state if its variable shows it to have been visited, I set Next to Normal if all menu items have been visited.

For each scene they visit, I use the mechanism that returns them to the menu slide to set the variable to the "Has been visited" state. Variables are persistent and stable. Some people set the variable when the user arrives at the scene, but I prefer to set it after they finish the scene.

The problem with adding to a variable is that it in inaccurate if the user visits one scene twice.

The  enclosed sample will illustrate how this all works. The user goes to other slides, rather than other scenes, and it uses a custom next button, but the principles are all there.

This discussion is closed. You can start a new discussion or contact Articulate Support.