Forum Discussion
Enabling Custom and Player Next Buttons
Hey Everyone-
This is the second time I am coming for advice and expertise on Storyline 360 next button functionality (though, this time it is a different issue). I think we are quickly becoming foes 🤜💥🤛
I have set a custom next button and the next arrow on the player toolbar to be disabled until all the buttons have been selected on the slide. I'm not sure what I am doing wrong, but even after all the buttons have been visited, both buttons remain disabled.
I've attached the slide in question for review.
Thank you in advance!-
Susan
A few notes:
- All the triggers that change buttons to Disabled will also run again if the user returns to the slide. As I said before, instead of triggers, you could simply set the Initial State to Disabled.
- I can't tell why things freeze if a previous-layer button is clicked while the current layer is playing. State-changing triggers shouldn't cause that. It might be an issue with all the audio. It might be an issue with the properties. Since that's "unexpected behavior," I suggest you contact the support staff: https://access.articulate.com/support/contact
- Personally, I'd use Dialog layers, and add a copy of the necessary graphic(s) on each layer.
- If you have additional issues, you should start a new discussion.
- JudyNolletSuper Hero
You don't need a trigger to change the custom Next button to Hidden when the timeline starts. Just set its Initial State to Hidden.
The reason the Next buttons never change to Normal is because the 4 other buttons are never all Visited.
- A button with a Visited state automatically changes to Visited when it is clicked.
- However, you have triggers on the layers that change the buttons to Disabled and then back to Normal.
- That's why the enable-Next triggers don't run.
This would have been noticeable to you if the button states looked different. But since your buttons look the same in all states, you couldn't see the problem.
One solution:
- Keep the triggers that change the buttons to Disabled and back to Normal.
- Add checkmark icons as separate objects on the base that will indicate a button has been Visited. Give those an Initial State of Hidden.
- On each button, add a trigger that changes the state of the corresponding icon to Normal when the button is clicked. Or have the trigger run at the end of the associated timeline.
- Use the "when icons = Normal" to determine that all layers have been viewed.
Alternately, you could set the Slide Layer Properties to prevent users from clicking on the base. If you do that, you'd need to add a button to close the layer. But since there should still be a visual indication that the buttons can't be clicked, I suggest you just use the solution described above.
- SusanWhitley-37Community Member
Hey Judy-
Thanks for the consist help on the discussion boards! You are always a huge help.
Yeah, I can't change the format of the button states for some reason, or I would have made them visibly different.
When you say, "on each layer, hide those semi-transparent shapes when the timeline ends", am I just removing the "show until end" feature for each semi-transparent shape and leaving a bit of space between the end of the timeline and the shapes?
- JudyNolletSuper Hero
There are different ways to get rid of an object when the timeline ends.
Yes, you can adjust how long they show on the timeline. Or give them an Exit animation; that would run at the end of the object's timeline. Or use a trigger (though that's probably more complex than needed, unless the hiding needs conditions).
Another option I neglected to mention above: use Dialog layers. They work similar to lightboxes in that they prevent the user from interacting with anything except what's on the layer. They do require a close-layer trigger, either attached to a button or that runs when the timeline ends.
By the way, you can insert objects directly into the state of another object. So, for example, you could insert a small checkmark in the Visited state. Or insert something else that sets it apart.
Also, be aware that transparent parts of an image aren't clickable. For example, when I was previewing your file, it seemed like I couldn't click directly on the numbers; I had to click on the colored circles. That could be quite frustrating for users. Here's more info about that issue: TIP: Making icons easier to program and easier to click | Articulate - Community
Personally, I wouldn't use images for those buttons. Instead, they could be circles with the numbers entered directly into the shapes. Those would be very easy to edit so they'd look different for different states.
- JudyNolletSuper Hero
FYI: I edited my original comment to provide a different solution. Why? I hadn't thought about accessibility.
Yes, a semi-transparent over a button will prevent a user from clicking/tapping the button. But it won't prevent someone from using the button with a keyboard.
- SusanWhitley-37Community Member
Hey Judy. Thank you for the suggestions:
- I can't change the layers to dialog, because the base layer needs to be seen as each layer plays.
- I changed the numbered buttons so that they are actually buttons and made changes to their states. I also added some "set state" triggers, so that the learner has to click the buttons in the numbered sequence.
- I added the custom next button at the end of layer 4, so it pops up after the learner has gone through all the buttons in sequence.
- I also added triggers to disable the player next button and to have the state change to normal after all buttons are visited.
The problem I am now having is with the numbered buttons functionality. When I preview the slide and click a numbered button, it works as it should. However, when I click the next numbered button, and as the current layer plays, I click a previously clicked numbered button, the slide freezes and nothing happens. It has to be my "set state" disabled and normal triggers for each numbered button that I put on each layer to prevent the learner from clicking the next numbered button till the layer completes. I want the learner to click the numbered buttons in order but also be able to click previous numbered buttons if they want to revisit information, preferably after the current layer that they are on is completed. And I much rather put triggers than the semi-transparent shapes, if possible.
- JudyNolletSuper Hero
A few notes:
- All the triggers that change buttons to Disabled will also run again if the user returns to the slide. As I said before, instead of triggers, you could simply set the Initial State to Disabled.
- I can't tell why things freeze if a previous-layer button is clicked while the current layer is playing. State-changing triggers shouldn't cause that. It might be an issue with all the audio. It might be an issue with the properties. Since that's "unexpected behavior," I suggest you contact the support staff: https://access.articulate.com/support/contact
- Personally, I'd use Dialog layers, and add a copy of the necessary graphic(s) on each layer.
- If you have additional issues, you should start a new discussion.