Skip to main content
Known Participant
December 10, 2020
Question

Using Buttons with Multi-State and Advanced Actions

  • December 10, 2020
  • 2 replies
  • 851 views

Heya everyone,

 

I'm trying to convert some rollover slidelets into multi-state objects so the functionality of the rollover isn't lost as a result of the Flash sunset. I already know I can put images, objects, text, and audio (attached to an object) into the rollover state that will mimic most of what I already have. I know I'm going to lose the timing aspect (the images and text would enter at specific times on the slidelet timeline that isn't possible in the rollover state.

 

What'd I like to know is how I incorporate the viewed rollover state into advanced actions. Basically, I want to have four objects with rollover states, and I want to enforce views of all of four of them with variables/actions that determine if the Continue button will display on the screen. 

 

Recommendations?

    This topic has been closed for replies.

    2 replies

    RodWard
    Community Expert
    Community Expert
    December 11, 2020

    Adding to what Lieve has said:  

    You need to create Custom Object States that can indicate something has been visited and then use your Advanced Actions to change the state of the Object to that custom state at the appropriate time.  

     

    Enforcing the view of all states will mean creating User Variables to track whether or not a learner has viewed the object.  Then you use a Conditional Advanced Action to check which variables have been viewed.  If all have been viewed then show the hidden Continue button.  There are plenty of YouTube videos for Captivate about how to do this.

    Lilybiri
    Legend
    December 11, 2020

    Sorry to disagree slightly, Rod.

    There is an InBuilt state 'Visited' which automatically appears when you have clicked the button once. This means you don't really need a custom state for that situation. That Visited state is not included in the Object style, and can also be applied by an (advanced) action. It is a bit strange, I know. To track the visits of all views you need user variables of course, but also an event to be used to toggle those variables.

    More in:

    http://blog.lilybiri.com/about-state-commands-and-a-progress-bar

     

    RodWard
    Community Expert
    Community Expert
    December 11, 2020

    Yes you are correct that you would need an action to assign the values of the tracking variables so that the Conditional Action can then have something to check.

     

    I have never trusted the in-built Visited state on objects, simply because it would automatically get changed.  I always preferred to delete that state and add my own custom state which would then ONLY appear if I chose to set it as the currently active state via Advanced Actions.  That always felt more predictable and reliable to me.  But if you find the automatic functionality works well enough, that's fine too.

    Lilybiri
    Legend
    December 10, 2020

    Rollover state is an InBuilt state. That means that it just appears in a certain situation, in this case when hovering over the button. Hovering is not an event which can trigger an advanced action. 

    Hope you are also aware of the fact that the Rollover state will never appear on mobile devices, but only will be functional on desktop/laptops? If you want to be safe for all devices, you need to use tap on a button to change a state in a multistate object. In that case an advanced or shared action is possible.