Copy link to clipboard
Copied
I want to create a series of six smart shape buttons (SSB).
Each SSB enables the next in the sequence.
On slide enter only button 1 is enabled.
Clicking button 1 should change a state on another element AND enable button 2. However not only does button 2 not enable but the rest of the advanced action also fails and the state change doesnt happen either.
What am I doing wrong?
Is it just impossible to change the Enabled property of a SSB at runtime?
Copy link to clipboard
Copied
This sort of problem is usually due to some logic flaw in the way you have implemented your Advanced Actions. You would normally need a separate Advanced Action created for each button.
Are you able to show us screenshots of how you set up the Actions?
Copy link to clipboard
Copied
To allow a better view of the problem, please insert screenshots of:
Copy link to clipboard
Copied
Hmm... the actions here are not complex so I suspect something a bit more subtle going on.
In general - I might approach it this way. At least this is how I imagine your setup
OnEnter Action
button2 disable
button3 disable
button4 disable
button5 disable
button6 disable
Button1 Action
button2 enable
button1 disable (not sure if you want this)
change state of object1
Button2 Action
button3 enable
button2 disable
change state of object1 (not sure if object is same or different)
Button3 Action
button4 enable
button3 disable
change state of object1
Button4 Action
button5 enable
button4 disable
change state of object1
Button5 Action
button6 enable
button5 disable
change state of object1
Button6 Action
button6 disable
change state of object1
Copy link to clipboard
Copied
Yes Stagprime, this is how I had set up the advanced actions. Slide OnEnter disabled button 2 through 6. Each button had its own advanced action that changed the state of my "reveal" object (6 states plus Normal), set a variable to show it was clicked, and SHOULD have Enabled the next SSB. However I did not disable any of the previous SSBs.
I ended up doing a work around. Instead of disabling and then enabling the next button in the series, I added a conditional statement that just checked to see if the previous button have been clicked (if variable_btn01 = 1, then do the stuff when btn02 is clicked)
Copy link to clipboard
Copied
This setup does not need a variable to track anything.
If one must click button1 to enable button2 - then actually clicking the button is all the more tracking we need.
As soon as it is clicked - enabling the next button is part of the success action.
Any errors in the action setup would break the action so I might suggest pulling out the variable tracking unless that is needed for some other thing later.
Lilybiri mentioned seeing the timeline to check for pause points... I would not normally see this issue myself as I do not make use of the timeline as many do. I keep mine in a constant state of pause and drive events based on learner interaction but this is a common gotcha and worth investigating.
Copy link to clipboard
Copied
I already use the variables to track whether the user has selected all the buttons before allowing them to continue anyway. So reusing them wasn't a big deal.
I had already removed all the pausing from the buttons (I hate that "feature").
And today enabling is working as it should. So bizarre.
I work on a virtual machine and I know it was having issues with other Adobe products so maybe it was related to that
Copy link to clipboard
Copied
Glad it is working the way you want.
For what it is worth - because you require specific previous button presses to enable the next, it acts like a tracker so there is no need for the variable to do the work. The variable would be used more in a case of having all the buttons enabled and allowing the learner to pick them in any order.
In other words - there is no way to enable the sixth button without having pressed the fifth and no way to enable the fifth without pressing the fourth...etc so all you need to do is put the continue button on the success action of button six and really - the forced nav is sort of built-in to this one.
Copy link to clipboard
Copied
Hmm I spoke too soon. The Disable onEnter/Enable onClick way still isnt working on my "real" slide. I was able to get it to work on a test slide but that had fewer parts to its advanced action. However I dont have unlimited time to try to figure out what is wrong and my workaround works for what I need so I am just going to let it go.
For what its worth here is a preview of the button01 AA that doesnt work.
Clicking it does nothing.
Removing the Enable step makes it work properly.
Copy link to clipboard
Copied
Since you ignored my pleading to post screenshots, I left this thread.
The fact that you took out the pausing points of all the buttons may be at the origin of the issues, since the Next button (which perhaps has pausing point) is hidden. How do you pause the slide when there is no pausing point? Understanding the timeline and the importance of pauses is so basic...
I am also suspicious about the labeling: what is S0410 in the expression? How did this variable get its value?
With the described setup you didn't need so many variables, a simple counter may have done the trick, since you disable a button which has been clicked. Even that one can be unnecessary because you have an imposed sequence for the button clicks.
This blog has over 70K views, which is not astonishing:
https://blog.lilybiri.com/pausing-captivates-timeline
Copy link to clipboard
Copied
I did not "take out" the pausing points after the issue started, I took them out as soon as I converted teh SS to a button. There are no pause points on any elements except for the fact that the slide is paused with the Captivate hack of adding in a hidden click box to stop it from automatically contuing to the next slide.
.
I am using a client supplied template (it's awful but I have to use it as part of the project requirements) It has a custom UI and part of the the AA for the UI checks whether a string corresponding to the current slide (in this case S0410) has already been added to a "_visited" variable. If so the slide is noted as haven been previously completed and the UI updates appropriately
Finally, I was not replying to you but to Stagprime. I generally find your comments to be rude and condescending ("Understanding the timeline and the importance of pauses is so basic...") so I perfer not to interact with you. Sorry.