Copy link to clipboard
Copied
Hi Guys,
I am building a course with a main menu that has three large smart shape buttons. The first two buttons take the user to learning slides that ultimately end up back at the main menu. The third button takes the user to the test slides.
What I want is for the third button to be disabled by default and unlocked when the user has been through the entire learning slide set (or at least visited the last slide of each). Is this kind of thing possible with Captivate? I would assume I would need a global Boolean variable for locked/unlocked and the ability to disable/enable the button depending on its value.
Any advice on how I can achieve that is greatly appreciated.
Create two (Boolean) variables: one for each learning slides section: v_one and v_two. Default value = 0.
I suspect you have a Back button at the last slide of those sections to go back to the dashboard/main menu? Replace the simple action 'Jump to' by a standard action (can be a shared action as well, but since you use it only twice, duplicate advanced actions are fine):
Assign v_one with 1 v_one has to be replaced by v_two for the second section
Jump to Dashboard
Create a conditional ad
...Copy link to clipboard
Copied
Create two (Boolean) variables: one for each learning slides section: v_one and v_two. Default value = 0.
I suspect you have a Back button at the last slide of those sections to go back to the dashboard/main menu? Replace the simple action 'Jump to' by a standard action (can be a shared action as well, but since you use it only twice, duplicate advanced actions are fine):
Assign v_one with 1 v_one has to be replaced by v_two for the second section
Jump to Dashboard
Create a conditional advanced action to be triggered by the On Enter event of the dashboard slide:
IF v_one is equal to 1 AND
v_two is equal to 1
Enable Bt_Test which is the button to jump to the assessment
Continue
ELSE
Disable Bt_Test
Continue
Copy link to clipboard
Copied
yes it is possible. I guess there are several ways. One I tried myself wich works:
- Name your Button, let's say "but_menue_3"*
- Also set two variables, let's call it "lection1"* and "lection 2"* and give it the Startvalue "0"*
- Make an advanced action and use it when main menue is reached:
If "lection1" == 1 AND "lection2" == 1 show "3but_menue_3"
else hide "3but_menue_3"
- Make an advanced action and use it when the last screen of lection1 is reached:
"lection1" == "1"
- Make an advanced action and use it when the last screen of lection1 is reached:
"lection2" == "1"
Alternative set an semi-transparent object above the 3rd Button and hide/show this in the reverse way you show the 3rd Button in the 1st solution. So the user sees that there is a button but can not use it until both lessons are done.
* Sure you can use other values if you like.
Copy link to clipboard
Copied
Want to warn about your last solution: covering an interactive object with a static object is only working for HTML5 output, because for SWF output the interactive button remains interactive. Moreover this would cause issues when using normal Fluid Boxes (in CP2017) because no objects can be in same location.
OP asked not about hiding but about disabling the button, hence my proposition which I posted immediately. Hiding/showing is no guarantee that the button, especially a shape button, will be disabled/enabled. Those are different functionalities.
Copy link to clipboard
Copied
You're right. I it's true, I only did it this way for HTML5. And if I knew you were on I even did not try to help. Feel free to delete my perhaps even confusing solution.
Copy link to clipboard
Copied
No, it is fine to try to help, I only felt that I had to warn about covering up an interactive object. Do not feel frustrated, please, users can learn from everyone.