Copy link to clipboard
Copied
Hi there,
I have an effect on a group of objects. It is a risk meter. When a user clicks on the button "high" there is an advanced action that moves the needed called "grp_Needle_01" to the left. The thing is that if I click a second time the button "high", the needed goes further left, etc.
This behaviour is normal, but how can I make it so when I click on "high" the needed goes back to the 0 position (in the centre) and moves to the left the same way it does when I click the "high" button the first time.
There is an easy option in Storyline that solves this. I was thinking that there should be a way to do that with Advanced actions in Captivate.
Thanks in advance for any ideas.
Bobby
Copy link to clipboard
Copied
The easiest trick to reset an effect is to re-enter the slide. That can be done with a dummy slide of a very short duration (0,1sec) before the present slide and the command 'Go to Previous Slide'. Alternative is with micro-navigation.
Copy link to clipboard
Copied
Thanks Lieve
I would prefer to avoid re-entering the slide.
The pause is at frame 31. There is something that i am not doing right
Copy link to clipboard
Copied
Re-entering is necessary, whether with a dummy slide or with micronavigation.
Alternative is to create the opposite effect and apply it. No that easy with motion paths, or you could use the XML file to create a custom effect.
Copy link to clipboard
Copied
Thanks Lieve,
1 - For the reentering could I just restart from Frame 0 or I must really go out of the slide?
2 - I opened a question some time ago. I never got a place where I can learn a bit more about tweaking the xml file for the motion paths. Anything new on that - do you have any resources that you can point me to please?
Thanks again
Copy link to clipboard
Copied
You really have to re-enter, going to the first frame of the slide will hot do the trick.
No, have no blog about xml editing, neither do I know about a resource.
Copy link to clipboard
Copied
Thanks Lieve
Copy link to clipboard
Copied
For the record, I like your dial. But if you want it to work more predictably you may need to forget about using the Motion Effect.
Since you only have a small number of points that the needle needs to move to, ou could just have a number of instances of the needle image placed over the top of each position and use SHOW / HIDE actions to control which one of them is visible at any given time. You would need a Variable that tracks the value of the Risk and then a Conditional Action that first Hides all instances of the needle each time it was executed before then showing the needle that corresponded to the correct position on the dial. (If you group the instances of the needle then you can Hide the group to make the Conditional Action simpler.)
I realise you probably wanted to use the Effect to make the movement of the needle look smoother, but as Lilybiri points out, it's not that easy with Captivate motion effects to accurately control the exact positioning of the object. This is due to the fact that Adobe chose to make the default Motion effects use relative positioning instead of exact pixel positioning (as Adobe Animate allows).
Copy link to clipboard
Copied
Thanks for jumping in Rod, we have been playing with Inkscape and got some good graphics.
Yes, I know that effects are not really the selling point for Captivate but I still try to use them somehow.
I am always open to learning something. About your idea. I get the positions and hide/show set up.
I get the tracking variable too.
The part that I am missing is how to change the variable. Do you mean that the variable would change depending on which frame the playhead is?
Thanks again
B
Copy link to clipboard
Copied
Captivate's interactivity is always event-based. Some event is always needed to trigger (execute) the Advanced Actions. The event is usually something like the user clicking something or the slide timeline starting or ending.
You mentioned that your user clicks a button to make the needle go higher on the scale. So, if you are giving the user control over where the needle ends up on the risk scale then my suggestion would be that you have two buttons. One for Higher and another for Lower. These buttons each execute a similar but different Conditional Advanced Action. One action will send the needle higher and the other action would send the needle lower. The direction of movement is determined by the value currently assigned to the tracking variable.
There appear to be 11 increments on your risk scale. So the number 5 would be in the middle, with the highest risk value at 11 and the lowest at 1. (The user doesn't need to see these numbers.) I would set the default value of the variable to 5 if you want it to start in the middle of the scale.
The High button's Conditional Action will need about 12 sections. The condition in the first Decision Block first checks that the current value of the tracking variable is still less than 11 before then hides all needle graphics and incrementing the value of the User Variable. Then then in each of the following 11 Decision Blocks will check the current value of that same User Variable to determine which position the needle should be shown at between 1 and 11.
The Low button has an almost identical Conditional Action except that the first section will check the value is higher than 1 before Hiding all needles and then Decrementing the Tracking Variable's current value so that the following decision blocks can do their stuff.
Does that make sense?
Now if you wanted to evaluate whether the user has chosen the correct risk value, you would need another Submit button to execute another Conditional Action that checks value of the User Variable for correctness.
Copy link to clipboard
Copied
Thanks Rod
I will give it a try