How to limit interactive objects to a single use

Scenario: You have certain interactive objects in your Adobe Captivate course content that you want the user to be able to use only once and then be disabled from then on.  For example, you may be using a menu slide that allows your user to view different branched sections in your content. Once a user has viewed that content and returned to your menu slide you do not want them to be able to visit the same branch again. So you want to disable the button or interactive object on the menu slide that allowed them to choose that branch.

How could you achieve this with Adobe Captivate using variables and advanced actions?

Techniques required for this interaction

Adobe Captivate provides several ways to achieve the end result of enabling or disabling an interactive object:

  • One option is to use the Enable or Disable actions in single or standard actions. These will prevent an interactive object from responding to normal user interaction (e.g. clicks), but disabling an object doesn’t change its appearance in any way. So extra work is required to ensure users are made aware of the inactive state of interactive objects.
  • Another way is to Hide or Show the object depending on whether it should be available or unavailable for use. For example, you can use this technique to show/hide navigation buttons when a user has completed a section of content. You can also show or hide objects superimposed over the top of the interactive objects to improve usability by making them look like they are actually disabled. 
  • A third option is to use conditional actions to selectively execute or not execute the actions assigned to an object, as well as do all or some of the above.

In the step-by-step instructions below, I explain how to set up the first of these three options.  Follow the links above and below if you are more interested in the other methods.


Step-by-step

  1. Open your project file and select the interactive object you want to disable. (Note that you can only enable or disable interactive objects, not ordinary slide objects.)
  2. In the Properties tab > Action accordion and set the On Success event to Execute Advanced Actions.
  3. At the right-hand end of the Script field, click the folder icon to open the Advanced Actions dialog. The Action Type will be set to create a new Standard Action by default.
  4. Select the Disable action and apply it to the interactive object by selecting that object’s Name in the drop-down list of slide objects.
  5. Add any other required actions that should be executed by this object. (For example, you may want the user to jump to a different slide or view some previously hidden object/s.)
  6. When the standard action is complete, click the Save As Action button at the bottom, and then click Close to exit the dialog.
  7. Publish your project and test to verify that the interactive object only executes any assigned actions the first time it is clicked, but does not respond to any further clicks after that.
  8. Repeat the above steps for any other interactive objects that should work only once.

How disabling the object affects the mouse cursor

If you have the interactive object set to show the hand on mouseover, then disabling the object as shown above will also cause the hand cursor to change back to the default arrow cursor. This is intended to show that the object is no longer enabled, but the change is usually a little too subtle for most users to pick up. So I recommend you think about using some of the methods we explain in other exercises to provide more visual feedback about an interactive object’s enabled or disabled state.
 


If you liked this topic, you'll also like these...

 

IF YOU LIKE WHAT YOU'VE READ ABOVE, THERE'S PLENTY MORE!

Join more than 2500 other Adobe Captivate users just like yourself and receive regular troubleshooting tips, illustrated tutorials, technical information, and creative solutions to real-world e-learning development issues. (See an example here.) Click the button below to join our community.  It's completely FREE!