Hi there, this is my first post. I am working on a drag and drop template, you may recognize the code. I am trying to create a reset button that returns everything to its starting location. Notice this code calls startX and startY, these are the variables that return the drag object if you don't get the right answer. I added a variable called resetX and resetY, and added a reset button that calls these variables when the button pressed. So this code works, however after the button is pressed all drag objects are returned but all the functionality is lost.

stop();
var startX:Number;
var startY:Number;

//sets start for reset need one set for each object

var resetX1 = drag1_mc.x;
var resetY1 = drag1_mc.y;

var resetX2 = drag2_mc.x;
var resetY2 = drag2_mc.y;

var resetX3 = drag3_mc.x;
var resetY3 = drag3_mc.y;

var resetX4 = drag4_mc.x;
var resetY4 = drag4_mc.y;

// sets the number of drag objects in the scene
var counter:Number = 0;

reset_btn.visible = false;


//Sets up the drag movie clips for Mouse Events( calling the functions pickup and dropit, listed below)
drag1_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
drag1_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);

drag2_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
drag2_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);

drag3_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
drag3_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);

drag4_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
drag4_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);

reset_btn.addEventListener (MouseEvent.CLICK, reset);

function reset(event:MouseEvent):void {

drag1_mc.x = resetX1;
drag1_mc.y = resetY1;

drag2_mc.x = resetX2;
drag2_mc.y = resetY2;

drag3_mc.x = resetX3;
drag3_mc.y = resetY3

drag4_mc.x = resetX4;
drag4_mc.y = resetY4;

reset_btn.visible = false;
reply_txt.text = "Put the shapes away!";
counter = 0;


}

// Funtion for the pick up. Called when the mouseDown event occurs. Note the text bellow can be changed to represent anything
function pickUp(event:MouseEvent):void {
event.target.startDrag(true);
reply_txt.text = "Find the correct place";
event.target.parent.addChild(event.target);
startX = event.target.x;
startY = event.target.y;
}
// Function for drop, looks for the mouse event mousedown, to see if the object is dropped on the target, if not it goes back to the its start location
function dropIt(event:MouseEvent):void {
event.target.stopDrag();

var myTargetName:String = "target" + event.target.name;

var myTargetisplayObject = getChildByName(myTargetName);

if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget){
reply_txt.text = "Good Job!";
event.target.removeEventListener(MouseEvent.MOUSE_ DOWN, pickUp);
event.target.removeEventListener(MouseEvent.MOUSE_ UP, dropIt);
event.target.buttonMode = false;
event.target.x = myTarget.x;
event.target.y = myTarget.y;
counter++;
} else {
reply_txt.text = "Try Again!";
event.target.x = startX;
event.target.y = startY;
}
//counts total set at the top
if(counter == 4){
reply_txt.text = "Congrats, you're finished!";
reset_btn.visible = true;
}
}

// makes the drag objects (movie clips) function like buttons
drag1_mc.buttonMode = true;
drag2_mc.buttonMode = true;
drag3_mc.buttonMode = true;
drag4_mc.buttonMode = true;