Hey Captivate Community.
I am building a drag n drop but run into the same issue.
I want to build a drag n drop exercise where:
- you drag elements into an area that contains more than one dragged element eventually
- your dragged elements snap back when not dropped into correct target
- you advance to the next slide once, and only when, you dropped each element correctly.
- a feedback text (consisting of grouped objects, one textfield and one button) for each drag-element is shown after you drop that element correctly.
- Therefore I assigned an object action that shows that feedback text (group)
So far so good. What causes troubles is the last feature:
- Once you click the button inside that feedback group, however, instead of hiding the feedback text (what it is supposed to do), it advances to the next slide even though the exercise is not finished yet. I double checked: the button triggers the action "hide" (Feedback group).
I'm sure it's just a detail but I can not find it.
Thanks in adavance.
Best regards, STephan
Matter of facts the same behaviour is triggerdwith any overlay show/hide combination even if not an object action within the drag and drop
Did you uncheck the feature 'Continue Playing Project', whuch is possible for object actions?
Well, I don't find this option in Captivate 8.
Was not available in that old version, sorry. It is so important to mention the version you are using. When that is not the case, I suppose users are using the most recent verrions or perhaps one version back, but not a version that is that old.
You should post which action is triggered exactly as object action: simple, advanced or shared?.
my first post here.
It's a simple action I want to trigger. Is there any workaround for Captivate 8?
Thx for any tipps
You have to replace the simple action by a standard action, advanced or shared (maybe better the last since you'll have several similar actions). Have a look at this old blog pogt:
You'll see that I mention at the start, that this is no longer necessary since Captivate 9.
Thx ... it works. Can't believe that this feature was not considered before Cp 9
Hmmm ... it worked for a second with only one show/hide panel. Adding a second one with the same setup as described by you did cause another "bug". Do you have any thoughts on that?
It seems that one issue is to copy objects with adavanced actions on them. When I alter it for one object it changes it for the other object, too and seems to trigger other strange behaviour.
That is the reason why I recommended a shared action. Post the sript you are using at this moment.
I am not sure I completley understand what shared actions are.
What I do is that I go into projects --> advanced actions and then create standard actions. they are actually pretty straight forward. Hide [name of grouped elements].
Then under the actions panel in properties I select. On success: execute advanced action. For the script I choose the action I just set up earlier in the advanced actions .field.
Maybe one more thing to mention. Cp seems to randomly reset those assigned actions after closiing / opening the project.
Thanks for any hint that helps.
That is a very bad sign. It moslly means that you are using the same name for multiple items. Each name has to be unique: for objects of any type, for variables for actions, for decisions, for groups....
It is pretty impossible to give you a training about shared actions, which you clearly don't know.
You need in that case to duplicate the action and edit it. Each group has another name, each actions neads another name etc...
Thank you for your swift replies.
well, I made sure that each component is named differently. Still I run into issues.
maybe It’s because I copy the feedback overlays and just change the actions executed on the button that is part of the feedback group.
On the other hand it would be impossible to re-create each feedback overlay 28 times if copying them is not possible ...
any other tips than shared actions?
How do you name the groups? If your advanced action is just to show a group yu have to duiplicate that adtion as many times as needed and edit the action to indicate the proper group. In a shared action the group would be the only parameter to define on applying the action.
I don't full y understand what you mean by recreating each feedback? If you showed some scrfeenshots, because if is very confusing at this moment. Do you have 28 possible drag actions? You cannot use InBuilt states in that old version ofr the drag sources because they didn't exist yet. Cannot you reuse the button each time? Cannot you fill the text container with a variable and define the variable with the object action? There may be other workflows, but I amnot sure about what you want exactly.
I think these two screenshots will make it more clear what I do try to achieve.
This is the Exercise I want to create. All the dragable elements are in the upper right corner stacked on each other. The drop containers are on the right. The exercise itself works. Maybe what you should also know is that I set up the exercise in a way that the drag elements snap back if not dragged into the correct container. And the exercise advances to the next slide when all elements dropped correctly (the submit button is outside the slide).
So yes, I got 18 draggable items and 10 info buttons - each of which should tirgger a Feedback speechbubble.
What get's messy is when I try the following. I want a Feedback (Speechbubble) appear in two scenarios:
Scenario A: when a element is dropped correctly.
Scenario B: when a learner wants to get more info and presses the info button.
The Feedback layers are grouped shapes. One of the shapes in that elemnt is a clickable shape that triggers the action to hide that shape.
As you see from this timeline snapshot. The groups (as well as the shapes) have uniuqe names and therefore should work properly and must be - in theory - callable by an action.
Does this make myproject clearer?
No, sorry, and it has nothing to do with the language, I understand German.
The biggest problem is that you don't even have multistate objects in that old version. That would have been the ideal tool for this use case You have the full functionality of shapes, don't understand why you need so many shapes to show feedback at all. My intuition tells me that you ignore the poser of shapes: why don't you fill the sahpe with text, and style each sentence as you want? Close button could be replaced by a hyperlink, had all functionality as well in CP8. It looks much too complicated even for your old version. That info is probably a hyperlink?
Hope someone else will try to help out out. I don't accept to debug files for security reason. After all I'm just a user trying to help other users.
You have an imposed sequence for the drag sources, because you stack them. As a teacher, I would never impose asequence in this type of exercise but that is off topic.
Thank you for your time and tips.
OK, I am aware that I dont have multistate objects nor the Continue Playing Project option. I am also aware that there are most certainly smoother ways to do that. I'm a beginner and theoratically my approach should work.
I can certainly make the feedback shape less complex. The reason why it has so many shapes grouped together is becuaseI wanted a Speechbuuble with a shadow element and text and a button.
If I can style hyperlinks within a text to execute an action, this would be another ooption to reduce complexity. The info-text is - at this point a box thoguh.
I will try to get the feedback into one shape and group them as you suggest it.
I do not understand whtayou mean with the pausing point or if that has any effect. I worked with the defaults.
I hope reducing the feedback shape complexity will do the rick.
Out of curiosity - how woud have multistate objects helped me here? maybe I get hold of a newer version.
The feedback bybble could have been a multistate object, one stae for each feeedback, and the normal state could have been empty. Much easier to manipulate than the hide/show actions. I have been blogging about the comparsion between the two workflows. Moreover that approach could even work in a fluid boxes responsive project, whereas yours would be impossible.
You can have shadow on a shape, but it was bit tricky in your version. You can have lot of text in it, and a hyperlink as close button.
Maybe you should have a look at this blog post. Timeline is the core of Captivate, and pausing points are the base of each interactivity.
so in a nutshell. Captivate 8 makes it difficult and the complex shapes and groups lead to "buggy" behaviour.
Not at all. It is sure that more recent versions offer better functionality which makes it easier. But you also complicated a use case that could be solved in an easier way. In the present setup there must be a bug somewhere. I couldn't find it, some critical information is missing. I have offered you suggestions but didn't find the 'wound'.
Too many interactive objects, too many advanced actions can indeed lead to corruption that is why I sugested to simplify. Even in CP8 it would be possible to have only one feedback bubble if you replaced the text by variables which you fill with a shared or advanced action. But that is really a bridge too far in your case. There may even be a Timeline logical problem, you only showed a very small part of that timeline.
Yeah ... there is a bug somewhere. I couldn't find it either. I now reduced the feedback / info overlays to one shape with link. It works wonderful for the info. But the feedback overlay triggered by a correctly drop element does only work for the first element. After the second dropped element the exercise advances.
I think it's not the timetable (IMO).
Since the playhead advances, there is no doubt: it IS linked with the timeline. Is that unique button triggering an advanced action? If not it will release the playhead.
Well, it wasn't so I assigned an advanced action. Unfortunatleyto no success.
After the second dropped element, it would still jumbto the next slide. Very strange. i am afraid there is some mal-function which can't be solved by tweaking the project 😕
Playhead will not be released if all the object actions and the button action are advanced actions. If you have one simple action, you cannot pause the playhead indefinitely.