PDA

View Full Version : [AS3] Reset game - Drag&Drop


German Cutz
07-15-2009, 03:56 AM
Hello All:

I'm having trouble reseting a drag & drop game. It is a movie clip with two pages: start_pg and game_pg. On start_pg is a start button (start_btn) that goes to game_pg. On game_pg is button (end_btn) that goes back to start_pg. Both buttons share the same layer, so I made ech invisible when not of its page. The game works fine, but when the end_btn is clicked, all movie clips that have been dropped, stay there.

How can I go back to start_pg and reset all movie clips to their original starting point?





// start game page
stop();

end_btn.visible=false;
start_btn.visible=true;

start_btn.addEventListener(MouseEvent.CLICK, goGame);

function goGame (Event:MouseEvent): void
{
gotoAndStop("game_pg");
}



// game page

var startX:Number;
var startY:Number;
var counter:Number = 0;

pic_1.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
pic_1.addEventListener(MouseEvent.MOUSE_UP, dropIt);
pic_3.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
pic_3.addEventListener(MouseEvent.MOUSE_UP, dropIt);
pic_2.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
pic_2.addEventListener(MouseEvent.MOUSE_UP, dropIt);
pic_4.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
pic_4.addEventListener(MouseEvent.MOUSE_UP, dropIt);

function pickUp(event:MouseEvent):void {
event.target.startDrag(true);
event.target.scaleX = 1.2;
event.target.scaleY= 1.2;
m_txt.text = "";
event.target.parent.addChild(event.target);
startX = event.target.x;
startY = event.target.y;
}
function dropIt(event:MouseEvent):void {
event.target.stopDrag();
var myTargetName:String = "target" + event.target.name;
var myTarget:DisplayObject = getChildByName(myTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget){
event.target.width = 230;
event.target.height= 190;
m_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 {
m_txt.text = "Try Again!";
event.target.x = startX;
event.target.y = startY;
event.target.width = 50;
event.target.height= 40;
}
if(counter == 4){
m_txt.text = "Congratulations, you matched all rivers correctly!";
}
}

pic_1.buttonMode = true;
pic_2.buttonMode = true;
pic_3.buttonMode = true;
pic_4.buttonMode = true;



// end game button
start_btn.visible=false;
end_btn.visible=true;




// end game button
end_btn.addEventListener(MouseEvent.CLICK, goStart);

function goStart(Event:MouseEvent):void
{
gotoAndStop("start_pg");
}


Thanks in advance for any assistance.

German

aadi4uaction
09-02-2009, 01:33 PM
Hi,
I'm facing same problem:confused:, so plzzzzzzzzzzz if u find any solution for this problem, tell me :D