• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Captivate 9: Limit users from pressing buttons for a few seconds

Community Beginner ,
Jul 11, 2018 Jul 11, 2018

Copy link to clipboard

Copied

Hello,

I am making a training module and I have a few slides where I put "Click to Reveal" animations. I did this by creating states with audio and when a user presses on a button it will open the corresponding state using an advanced option. If the user clicks on all buttons, the continue to next slide button becomes active.

How do I limit the user from just pressing on all the buttons on the slide to just advance to next slide? Some of these have really important audio that there is just no room to place on the slide.

Please post any solutions you may have or ask any questions you have that need to be clarified.


Thank you so much!

Views

1.1K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 11, 2018 Jul 11, 2018

Copy link to clipboard

Copied

Use a shared action, disable the other buttons for as long as the audio has to play, by using the Delay command. After that delay you enable them again. Typical use case for shared actions....

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

Hi, so I did the disable, delay enable for all buttons. Now the button I did it for isn't opening at all. The always do tab changes the state. The show next tab shows the continue button if all buttons on slide were shown. Please take a look at how I did disable, delay, enable and let me know if I did it wrong!

Thanks.

1.PNG2.PNG3.PNG4.PNG5.PNG

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

Which button triggers this action - button_49? Is this button visible at all on the stage or just not doing anything when clicked? If the latter, make sure that the correct advanced action is selected in the Script field of Properties -> Actions

Also, I normally disable the button that was clicked as well so that users can't repeatedly click and launch the same action when they're not supposed to. The other thing I normally do is have a "disabled" (grayed out) state for disabled buttons. This means more lines in the action to change all the states for all the disabled/enabled buttons - up to you.

To answer your question about the action setup - yes, it looks OK to me.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

Hi,


Yes, button_49 triggers this action and the button is visible however when I click on it nothing happens.

I will disable button in future just for now I want to get this running.

Is this how my properties are supposed to look for that button or am I missing something?

6.PNG

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

From what I see you are pretty new to advanced actions? A Button is not a variable, why are you checking the value of a button? Resetting the Inbuilt state of a Button to Normal is rarely necessary since it is the default state of that button when it is not pressed, unless you have ever changed it to a custom (not an Inbuilt)  state different from Normal/

You cannot use the same name for an object and for a variable at all, because that will for sure cause a lot of problems, in case you have defined a varaible with name 'Nutton_1'.

Please explain clearly what you want to do with that button? I see only that you want to show something based on an AND combined condition, but look at my comment about variables and buttons.

BTW: if you want to show a screenshot of a conditional action, please use the Preview view. You will get it pressing the first button int the to right control bar, looks like an arrow.

Soon I will publish an invitation for an advanced Captivate course on my website, which will have in-depth exploration of variables, advanced actions and shared actions.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

Lilybiri is correct that it's best NOT to use the same name for a variable and an object. It's easy to prepend v_ to a variable name (v_button1, for example). That can avoid some confusion in the back end of Captivate.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

Will you take care of this OP, then I'll step away because it will be confusing.

BTW it is nott 'best' to avoid duplicate names, iin this case it is compuslary! There are a few cases where you can use a name twice, but there are very§ rare.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

OK - I'll take care of this question. Cheers!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

Since I am labeled the Queen of Advanced/Shared actions: the OP needs a shared action in this case, as I stated in the beginning and I would prefer to group the buttons and hide them instead of disabling because the shared action will have less parameters and will be handledi in a much easier way.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

True, but I don't know if he needs keep them visible - from what was mentioned in an earlier post, I think they do need to stay on screen. Too bad enable/disable doesn't work on groups. I also find that, with lots of buttons and disabling/enabling, it's easier to duplicate an AA and only change the one or two things that are different than to set all of the parameters of a shared action for each button. But we are having a semi-private conversation here and perhaps confusing our OP.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 13, 2018 Jul 13, 2018

Copy link to clipboard

Copied

In that case you use a click box or a shape button over an image. The problem is that you cannot disable a group. A shared action would be wonderful in this case with a limited number of parameters but you need to group.

It may be easier to duplicate advanced acytions like most 'experts' do but they ignore that this can lead to inflating the file size (compared with instances of one shared action) and is much more difficult to manage. I always look for the easiest way to manage any action. More than 3/4 of all actions I create for clients are shared actions because of a lot of advantages, which you may ignore.

Sorry, but you stepped in this thread which I was already following up since yesterday. It is a great idea to have different solutions in a thread, but in this case I felt indeed that it would be confusing because the solution I was trying to explain was not yet fully understood. I even think a multistate object for all the audio to play would be the best approach.


OK, will not bother you anymore.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 15, 2018 Jul 15, 2018

Copy link to clipboard

Copied

Hi, thank you so much guys. Speaking about parameters in shared actions, for some reason it isn't allowing me to uncheck the boxes for all the disable/enable button parameters. It is making me use all those parameters which makes it about 10 enable and 10 disable parameters along with the ones I actually want to use. Is there a way to disable the program from "auto-enabling" parameters?

This would save a lot of time being that I have a bunch of slides I need to program the same way

Thanks again guys!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 16, 2018 Jul 16, 2018

Copy link to clipboard

Copied

Blogged quite a lot about Shared Actions.

Suspected you needed this on a lot of slides, and having too many advanced actions (edited duplicates) could really mess up your file as I experienced several times in consultancy jobs.

But I promised to step away, since dan56 took over.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 16, 2018 Jul 16, 2018

Copy link to clipboard

Copied

If you are using shared actions (a good thing to do in many cases), you should read everything Lilybiri has written on them. And, as far as I know, any parameter that refers to an object cannot be deselected. Shared actions are best when the number of items acted on is limited for the reason you just discovered. Grouping can help a lot with showing/hiding but, unfortunately, enabling/disabling and state changes cannot be applied to a group.

Perhaps I've been lucky, but I haven't had problems with file corruption or Captivate becoming confused when using many duplicated and then edited advanced actions. You have to be careful when naming them to keep yourself from being confused, however.

So, with many parameters to deal with in a shared action, you might want to try to cut them down by doing things a different way:

Instead of disabling/enabling buttons and changing states to match, you can have two sets of shapes and a set of clickboxes or transparent buttons that overlay them. For example:

A group of full-colour shapes that would represent enabled buttons

A group of low-contrast shapes that would represent disabled buttons

A group of clickboxes/transparent buttons to perform the actions

On click of a button, the shared action would

1. Hide the clickbox/button group

2. Hide the full-colour shape group

3. Show the low-contrast shape group (if all the buttons must remain visible)

4. Do all the other things necessary

I find it's a good idea to have a "selected" state for the button that was actually clicked so that the user can easily see which one has been selected, especially if all the other buttons must remain visible. You could use the full-colour shape for that button or create a new group of shapes for all the buttons. If you choose to do this, simply insert:

3a. Hide the selected shape group

3b. Show the selected shape for just the button that was clicked

After your delay for playing the audio, remember to hide the low-contrast group, hide the selected shape, show the full-colour group, show the clickbox/transparent button group.

Remember to place the clickboxes/transparent buttons on top of all the "button" shapes in the timeline (arrange on top) so that the cursor will change to a hand pointer when hovering over them.

Disadvantages to doing things this way, however - you lose the rollover and down state changes that are built in to normal buttons if you use clickboxes. You can get around that by using the transparent buttons by creating an outline or some other visual cue in the rollover state. Also be aware that, if you set  up a shared action and then decide to edit it, you'll have to save it with a new name, then assign all the buttons that use it to the new shared action and reset all the parameters for all of the buttons that use that action.

One more tip - name all the objects that you will be using in either an advanced action or a shared action. It's much easier to keep track of logical names than the auto-assigned numbers.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 16, 2018 Jul 16, 2018

Copy link to clipboard

Copied

So when I do either of these versions, they don't work. The way I was doing before by changing state, disabling all buttons, delay, enable all buttons, what happens is if I click one of the other buttons, the whole slide freezes not allowing me to press anything and after a few seconds it just goes onto the next slide.

This method, creating groups what I did is: HIDE full-color Image Group, SHOW low-contrast Image Group, HIDE each transparent button, Delay, show Full-color image group, HIDE low-contrast group, SHOW Each click button This just shows me a slide and advances after a few seconds.I wish there's a way to enter a video.

PS. In photos attached I know the variable names on the "show next" tab is different from the actual buttons names but I took that into account by using old buttons in "always do" tab. In the end I will fix that but for my simplicity later. I just want to make sure this works first. The first 3 photos are the sample actions for one of the buttons, I did this for all changing the state, delay time and assigning different button variable for each. The other photos are the sample transparent button settings on the slides; group1 is full image, group2 is faded image. I duplicated my AA and changed a few things for each button. I found that easier than a shared action. Group2 is initially hidden.

Again, all buttons are same settings including timing. However, the only thing different is the advanced action it is executing which is actually corresponding to the button number.

1.PNG2.PNG

4.PNG5.PNG

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 16, 2018 Jul 16, 2018

Copy link to clipboard

Copied

Usually unexpected progression to the next slide is caused by a "Continue" lurking inside an advanced action. That can appear if you've deleted an object that used to be used by the action. I've had it happen when ungrouping objects as well. Captivate does a pretty good job of keeping track of name changes, but if things disappear a "Continue" is inserted and the playhead is released, allowing transition to whatever comes next. The "freezing" you describe sounds like the "Delay for x seconds" command doing its job, and/or the remaining time in the slide after the button pause and before the end of the slide.

The most efficient way of looking at an advanced action is to click the little > (called "preview action", looks like a play button) in the upper right corner of the action window, next to the + button. That displays the action in one list, complete with all decision tabs.

I recommend trying your procedure on a temporary slide with only a few objects on it. This will allow you to experiment without having to set/reset lots of items. When you get it to work the way you want, simply implement the same procedure on all the objects of your real slide.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 16, 2018 Jul 16, 2018

Copy link to clipboard

Copied

Please, show the timeline. All buttons need to have their pausing point at the same moment. At least one button has to be enabled at each moment, to keep the playhead paused. I see for this button that it appears after a certain time and pauses after another time. What about all buttons?

To show a full advanced action (already mentioned that), use the Preview button: first button in the top right control panel of the Advanced actions dialog box. It looks like an arrow. That way you can verify if there is a Continue command somewhere.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 17, 2018 Jul 17, 2018

Copy link to clipboard

Copied

The timing is all the same. Should there be a continue there?

1.PNG2.PNG3.PNG

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 17, 2018 Jul 17, 2018

Copy link to clipboard

Copied

Not at all, you want the playhead to remain at the pausing point of the buttons (one of the button timelines - 185 -is not set till the end of the sldie but attached to the end of the slide timeline, no problem as long as you don't change the slide timeline duration). Since it is the Next button (labeling items helps, believe me), you could have it starting later, and have the pausing point later as well. You can even make it start at the pausing point of the other buttons. You don't need to hide that button in that case, and the Show Bt_Next can then be replaced by a simple 'Continue', which will release the playhead and the next button appears, will pause at the pausing point of the next button (later than the other buttons) and all the other buttons will no longer be active.

SInce you are now hiding/showing instead of disabling/enabling buttons, group the buttons please.  The actions will be much more manageable. If you want to keep one buttons visible in a group use:

   HIde Group

   Show Bt_x

I described this as first workflow in: Force Clicking Hotspots: Comparison 2 Workflows - eLearning

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 17, 2018 Jul 17, 2018

Copy link to clipboard

Copied

By grouping the buttons, doesn't that remove the option of changing states?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 17, 2018 Jul 17, 2018

Copy link to clipboard

Copied

There is no Change State in your advanced action anymore, not for the buttons.

I see only a Change state for a Text Caption.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 17, 2018 Jul 17, 2018

Copy link to clipboard

Copied

To guarantee the slide won't transition until NEXT is clicked, you can put a small clickbox in a corner that has NO ACTION, but is set to "pause until user clicks". The default pause point of a clickbox is the end of the slide, so there will always be a pause present. Your NEXT button, set to "go to next slide," will be the only thing that allows the progression to the next slide.

Again, as we have both strongly suggested, please name your objects so that all of us (including yourself) can more easily understand what the objects are when looking at the actions and timeline. This takes a little time to do, but makes troubleshooting much easier.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 17, 2018 Jul 17, 2018

Copy link to clipboard

Copied

Please, have a look at my blogs about the Timeline. Adding another interactive object to that slide makes no sense at all!  It has already so many interactive objects. As long as one interactive object with a pausing point is active, there is no need for an extra click box whatsoever, click box is a legacy object that I think will disappear in the future (is not allowed in Fluid Boxes).  Hide all the buttons (in group) and show the active button will take care of that. As for the Next button it would be good as I explained to:

  1. If you keep the show/hide option for the Next button, move its pausing point a little bit to the right  OR
  2. To get rid of that show/hide option, move the start of the timeline of that Next button to coincide with the pausing point of all the other buttons. Get rid of the Show Next Button line and replace it by Continue. This will only happen when all variables are set to 1, and playhead will continue until the pausing point of the Next button.

Here is a movie about the Timeline

Captivate's Timeline

As for differences between SWF and HTML output, can write books, but the timeline behavior is the same.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 17, 2018 Jul 17, 2018

Copy link to clipboard

Copied

Yes, that is also a good solution.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Help resources