Drag and drop feedback using changing states

Hi there,

I am a newbie in Articulate and I am getting my hands into D&D activities.

I decided to show the right/wrong answers by changing the state... so far, it works. However I would like the states to change only when I click the validation-button I created, and I don't know how to do that. I tried using a trigger with a true/false variable but wherever the answer is right or wrong, it only shows one answer. Not sure, I am crystal clear....

Thanks for your help !


6 Replies
Walt Hamilton

One way to do this:

For each dropped item, duplicate the Normal state twice and call one Drop Correct, and the other Drop Incorrect (the built-in names.) set the interaction to show the result states immediately. It will change the states, but the learner won't see the difference. For each dropped item, create two different states, with made-up names, like MyDropCorrect, etc. The triggers on the validate-object would be "Change state of DropItem1 to MyDropCorrect if state of DropItem1 = Drop Correct", and "Change state of DropItem1 to MyDropInCorrect if state of DropItem1 = Drop Incorrect". You would need these two triggers for each drop item.

Rebecca Govin

Hi Walt !

I will! But if I may, I have another question. I am working on another activity and I am facing another hurdle, two in facts.

First things first, my triggers are "click" rather than "drag&drop". I felt it was easier.

My first problem : I can't get the objects to go back to their initial place.

> I have three states (normal, dropped, dragged back) and I am using a trigger to change the state from "dropped" to "dragged back" but it does not work. The one from "normal" to "dropped" work.

My second problem : something to do with the variables

> I added a number variable to add and substract the number of elements in my grids so that the students can adjust their answer if they feel like changing it before validation. The adding variable works except when I use the substraction one  as well.

And I don't get why because I felt I have clearly thought of the different states necessary, etc... I am attaching the file.

I hope I am not too much of a bother...

Many thanks !

Walt Hamilton

Here is the problem


Every trigger that fires when the learner clicks Diz_09 is executed every time the learner clicks. So follow these two triggers through slowly and logically. The state of Diz_09 is Normal. The learner clicks. The first trigger does nothing, because its state is Normal. Then the second trigger changes the state to Dropped because the state is not Dropped. Click again, and the first state changes it to Dropped_Back, because its state is Dropped. Then the second trigger changes it to Dropped because now the state is Dropped_Back (which is not Dropped). Once you get it to Dropped state, and click it, it changes to Dropped_Back, and instantly changes again to Dropped faster than you can see. That also explains why the subtraction doesn't seem to work. If you change the order of those triggers, it still won't work, it will just be stuck in the other state.

What you need is a trigger that change it to whatever state it isn't. But there are too many possible names for states for that to be practical. Fortunately, there is something built into SL that can do just that. If you create a T/F variable, you can change it using the toggle command, which means change it to whatever it isn't. Then you can use that value to change the state appropriately.