Help with a drag and drop game
Hi, I have made a game and everything is working except for my win condition which I am unable to make work. I have tried many different things to get it to work but I keep getting errors.
So I have objects that I am able to drag and drop, and when you are done, you click a button and I want it to check if all objects are in the correct spot, and in that case, you win the game, otherwise you lose.
import flash.events.Event;
attackbutton.buttonMode = true;
stop();
var startX:Number;
var startY:Number;
var counter:Number = 0;
var dropTargets:Array = [kn_12Target, kn_34Target, kn_56Target, kn_78Target, kn_910Target, kn_10Target, kn_18Target, kn_26Target, kn_34_2ndTarget, kn_10_2ndTarget, kn_17Target, kn_15Target, kn_9Target, kn_14Target, kn_14_2ndTarget];
var draggableObjects:Array = [kn_12, kn_34, kn_56, kn_78, kn_910, kn_10, kn_18, kn_26, kn_34_2nd, kn_10_2nd, kn_17, kn_15, kn_9, kn_14, kn_14_2nd];
function activateDraggables():void {
for (var i:int = 0; i < draggableObjects.length; i++) {
draggableObjects.buttonMode = true;
draggableObjects.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
draggableObjects.addEventListener(MouseEvent.MOUSE_UP, dropIt);
draggableObjects.startX=draggableObjects.x;
draggableObjects.startY=draggableObjects.y;
}
}
activateDraggables();
function pickUp(event:MouseEvent):void {
event.currentTarget.startDrag();
event.currentTarget.parent.addChild(event.currentTarget);
}
function dropIt(event: MouseEvent): void {
event.currentTarget.stopDrag();
var hitBool: Boolean = false;
for (var i: int = 0; i < dropTargets.length; i++) {
if (event.currentTarget.hitTestObject(dropTargets)) {
event.currentTarget.x = dropTargets.x;
event.currentTarget.y = dropTargets.y;
hitBool = true;
break;
}
}
if (!hitBool) {
event.currentTarget.x = event.currentTarget.startX;
event.currentTarget.y = event.currentTarget.startY;
}
}
attackbutton.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame);
function fl_ClickToGoToAndStopAtFrame(event:MouseEvent):void
{
gotoAndStop(2);
}
addEventListener(Event.ENTER_FRAME, hitTest);
function hitTest(evt:Event) {
if(kn_12Target.hitTestPoint(kn_12.object, kn_34.object)) {
gotoAndStop(2);
}
}
