match, drag and drop game
Hello,
My name is Nikola and I'm newbie with AS.
Here’s the thing:
With the help of some tutorial I’ve created a 'game', where user selects objects, drags it, and drops it on correct shape/color/object. Tutorial is “1 to 1” based, so you can match one object and one target only.
Now, I would like to have multi objects, and one target on which I can drop them.
Example:
TARGET: blue square
OBJECTS: blue star, blue circle, etc.
I got stucked with Instance and Movie clip names since they have to be unique, and the code itself works on the principle of names paring - object: name, target: "target"+object name.

Here’s a code for “1 to 1” option:
var objectoriginalX:Number;
var objectoriginalY:Number;
shape_mc.buttonMode = true;
shape_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
shape_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
shape2_mc.buttonMode = true;
shape2_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
shape2_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
function pickupObject(event:MouseEvent):void {
event.target.startDrag(true);
event.target.parent.addChild(event.target);
objectoriginalX = event.target.x;
objectoriginalY = event.target.y;
}
function dropObject(event:MouseEvent):void {
event.target.stopDrag();
var matchingTargetName:String = "target" + event.target.name;
var matchingTarget:DisplayObject = getChildByName(matchingTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == matchingTarget){
event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
event.target.removeEventListener(MouseEvent.MOUSE_UP, dropObject);
event.target.buttonMode = false;
event.target.x = matchingTarget.x;
event.target.y = matchingTarget.y;
} else {
event.target.x = objectoriginalX;
event.target.y = objectoriginalY;
}
}
I hope that I was clear,
thanks,
Nikola
