Forum Discussion
Locking down navigation in Storyline 360
I have a document that uses a lot of interactive slides. On these slides, when you click a button, audio plays. I want to prevent anything else from being clicked until the audio finishes playing. This issue only occurs when there are multiple interactive elements on a single slide. The timer setup works perfectly when there's only one object on the slide.
2 Replies
- garymoulton-a40Community Member
If more than one interactive element you could use variables (True/False) to disable all interactive elements until the audio associated with the currently clicked button finishes playing.
- Create a True/False Variable:
Name it something like audioPlaying.
Default value: False.
- Set the Variable When Audio Starts:
Add a trigger to each interactive button:
Set variable audioPlaying = True
When user clicks [button]
- Disable Other Clicks While Audio is Playing:
For each interactive object (button), add a condition to its trigger:
Play media [audio file]
When user clicks [button]
If audioPlaying = False
- Reset the Variable When Audio Ends:
Add a trigger to each audio object:
Set variable audioPlaying = False
When media [audio file] completes
You can also build in Visual Feedback
To improve UX, you could disable buttons visually while audio is playing:
Create a "Disabled" state for each button.
Add a trigger:
Change state of [button] to Disabled
When variable audioPlaying changes
If audioPlaying = True
And another to re-enable:
Change state of [button] to Normal
When variable audioPlaying changes
If audioPlaying = False
Do this for each Button/Audio Pair
It ensures:
Only one audio plays at a time.
Users can’t interact with other elements until the current audio ends.
This way you have more control over pacing and ye give focused learning.
- rachelatkaiserCommunity Member
Hi ckenglin! One way you could do this is by:
- Putting the audio file in a layer.
- When the user clicks the button, show the layer so the audio plays.
- In the slide layer settings, select "Prevent the user from clicking on the other layers." Other layers includes the base layer, so the user won't be able to click any objects in the base layer.
- Hide the layer when the timeline ends.