Drag and Drop RESET option

May 02, 2016

Is there anyway to add a RESET option when creating a Drag and Drop activity. I love using the Freeform options when creating quizzes but it would be nice to have a RESET button on Drag and Drop questions when students don't get the correct answers and to make it easy for them to Try Again.

Is a Reset option something they can add to a future update under the Drag and Drop options?

81 Replies
Michele M

I did it a different way. I created a empty slide and placed it in front  of the slide with the drag and drop interaction. Add trigger to RESET button to have it jump to the empty slide. Then program empty slide to jump to the screen with drag and drop as soon as the timeline starts. It looks pretty seamless. :) I will, of course, have to hide the blank page so it doesn't show up in the menu.

Walt Hamilton

Here is a sample that contains lots of nifty options for custom DnD, including resetting to default state or not. The concept is that it depends on what the submit trigger does. It uses the Submit trigger to either submit a pick One interaction on the same slide, or on a separate slide. On the separate slide, the Try Again button returns to the original slide, which is set to return to Original state on Revisit, which resets all the Drag objects. If you evaluate the results on the same slide, the Try Again layer just hides itself, and the objects remain in their dropped positions. You can see it in action on the Simple Graphic example at:


Jean-David Lafontaine

Hi Gerry! I know this is a bit of an older post, but what a great solution! It was easy to set up and works great :) 

I noticed a small bug though and was wondering if you might have a solution. I tried everything and cant seem to fix it. It seems like storyline remembers what you answered in ur first attempt (because the quiz isnt truly resetting).. so if u answer something correctly on the first attempt, but then leave it and dont drag it at all on ur 2nd attempt, the state of the object still changes to 'correct' when you click submit on the 2nd attempt. Am I making sense? lol let me know what your thoughts are!

Gerry McAteer

Hi Jean-David, yes you are making sense and after looking at it there doesn't see a way to reset the first correct condition of a single object to target without having to set the base layer to 'Reset to initial' and then place a trigger to jump to the drag/drop slide.  So the scenario would be to keep any correct placed items on the relevant target and return the incorrect when the try again button is selected. Please see attached (added a conditional on the move trigger for each of the objects). 

David Oskorus

Hi Gerry-

I love your solution. Simple. Effective. It works great when you have 1 drag item per target.

I'm running into a wrinkle though. I have a drag and drop interaction where there are 10 drag items and only 1 drop target. 6 of the drag items are correct, and the others are just distractors.

The incorrect drag items reset as expected, but when you click and drag an item on your second attempt, everything that you dragged on the first attempt moves back to the target.

I'm working through trying to resolve this, but thought I'd throw it out there in case you (or anyone else) had any thoughts.


David Oskorus

It appears to make a difference how you have the snap option set.
I had it set to "Tile", but changing it to "Free" seemed to resolve the issue reported above.

Of course, doing that posed it's own problem, so now I'm working it in a slightly different manner: changing state to hidden when dropped and then back to normal on Retry, etc.

Dipu Viswam

It can be done in a simple way without using variables. I made a duplicate slide and set 2 attempts for the original one and one attempt for the second. Additionally, I Changed the navigation for 'Try Again' button.  On clicking the 'try again' button, the page navigates to the duplicate page where we have only one attempt, which will result either right or wrong answer.

Judy McDonough

Hi Dipu:

OK, I'm giving this a try and am confused.  I duplicated my DnD slide.  Original slide has 2 attempts.  When the user clicks the "try again" button, I've got it set to "show THIS slide" (so it returns to the original base layer), and the original base layer is set to "reset to original state".  Of course, then it just creates that loop.  

But, if I reset the "try again" button to jump to the new, duplicated slide, it does work.  But, I only get "one" attempt on the original slide.

Does that make sense?  What am I missing?  I like your method because I don't have to create variables which could end up making a bigger mess (especially if I hand off the project to someone else). 



Maria Costa-Stienstra

Hi, Judy.

Since this is an older discussion, Dipu might not be subscribed, but you're welcome to contact them directly through their profile by clicking on their name and selecting Contact Me. 

I believe that when using their suggestion, the second attempt will be the duplicated slide:

First slide (First attempt) > Try Again (Jumps to Duplicated slide > Second slide (Second attempt).

I hope this helps!

Karen Wicks


I'm trying to do something similar with a drag and drop interaction.

The user has unlimited attempts so there's a try again layer. I've added a button called 'more info' that is hidden until the Try Again button is visited. The more info button shows a layer with hints to the right answer. This info layer has a button that hides it when clicked so the user has the base layer visible again to try again.

The base layer is set to reset to initial state.

I've tried adding a trigger to the try again button so clicking it jumps to the current slide. The problem I have here is that the 'try again' button's state is reset to an unvisited state, so the more info button's state doesn't change to normal.

Is there any way I can get the drag and drop objects to reset but still have the try again button on the try again layer retain its visited state?

I've attached a mock up version of the slide in question. I can't upload the real thing due to confidentiality, but I think you'll get the idea.

Thank you



Dipu Viswam

Hi Judy,

Sorry, I missed your text.

The first slide will have two attempts. On clicking the "Try Again" button, it navigates to the second slide, which will have only one attempt. The second page will have only two feedback layers, "Correct" or "Incorrect".

When re-visiting, please make sure that the first page opens. Second page will open only by clicking the "Try again"button, of the first page.

There is no need of variables. It is very simple and straight forward. You have to go to the player properties and remove the duplication from Menu.



Walt Hamilton

Is there any way I can get the drag and drop objects to reset but still have the try again button on the try again layer retain its visited state?

 I think a more precise question is "How can I make the More Info button show if the Try Again layer has been visited?" Jumping to this slide, or to 0 sec on the timeline of this slide resets the state of the objects, so you can't use the state of the Try Again button. I think that is for the best, because states can be finicky.

Nevertheless, if you are enamored of the concept, There are two slides in the sample that use it.

The Least Preferred slide jumps to 0.01 sec, which maintains the state of the Try Again Button.

The Less Preferred slide jumps to the beginning of the timeline, but doesn't maintain the state of the Try Again button.

I should warn you that neither of these method restarts the slide completely,, so the dropped locations are retained. On the second attempt, if you drag an object over a previously dropped incorrect objects, that object jumps to its former drop spot. That is one reason I prefer the last method.

The only really reliable way to do this is to write a note to tell the system that Try Again has been visited, and the More Info button should be changed to its Normal state. Programmer-type people call that note a variable. I used one on the Most Preferred slide, along with a Jump to this slide trigger. The jump resets the state of the objects on the slide, but doesn't change the variable, so it can be used reliably to set the state of More Info.

All the changes I made were made on the Try Again layer, where you can see the variable in action. I created some triggers to show the More Info button if Try Again has already been visited. I disabled others that aren't needed.

Then on the Changing Hints slide, I added an additional variable that allows you to track the number of attempts, and give additional hints on succeeding attempts.

FYI, you don't normally need triggers of this type:

New layers are created with a default setting to hide other layers, so showing Review will Hide this layer.


Dipu Viswam

Hello Mr. Karen and Mr. Walt,

For unlimited attempts, we can manage with a single slide itself.

A visited state is created for "Try Again" button.

You can set the number of attempts to "Unlimited" in the settings.

A couple of triggers to be added to the "Try Again" layer.

At first I added, "Jump to slide - This Slide - When the user clicks Try Again".

Next I created a true/False variable "TryAgain_Visit.

On the top of other triggers, I added a new trigger, "Set TryAgain_Visit value True - When the user clicks Try Again(Button)"

At the end, a slide trigger is also added. "Set state of Try Again - "Try Again" to visited, when the timeline starts on this layer.

Condition: if TryAgain_visit = value True".

I have uploaded a sample file for reference.


Dipu Viswam