Continuano i Tutorial di AS3 su JuliusDesign, oggi andiamo a vedere come Trascinare un Oggetto in ActionScript3

Vi ricordate in ActionScript 2 come si faceva vero?

Vediamo insieme il codice ActionScript 3:

// Imposto le coordinate iniziali del clip
var startX:Number;
var startY:Number;
// Associo gli eventi MOUSE_DOWN e MOUSE_UP al clip
rosso_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
rosso_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
function pickUp(event:MouseEvent):void {
event.target.startDrag(true);
stato.text = "L'hai preso!";
event.target.parent.addChild(event.target);
startX = event.target.x;
startY = event.target.y;
}
function dropIt(event:MouseEvent):void {
//In caso rilascio il clip ROSSO_MC
event.target.stopDrag();
//Imposto il mio elemento TARGET
var myTargetName:String = "verde_mc";
var myTarget:DisplayObject = getChildByName(myTargetName);
stato.text = "Ti è scappato?";
//Se il mio clip ROSSO_MC collide con VERDE_MC
if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget) {
stato.text = "Bravo!";
event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickUp);
event.target.removeEventListener(MouseEvent.MOUSE_UP, dropIt);
// Disabilita il clip filmato dallo stato pulsante
event.target.buttonMode = false;
event.target.x = myTarget.x;
event.target.y = myTarget.y;
} else {
//se vuoi farlo tornare alle coordinate iniziali utilizza il seguente codice
//event.target.x = startX;
//event.target.y = startY;

}
}
// Abilita il clip filmato come fosse un pulsante
rosso_mc.buttonMode = true;

Come al solito ecco i file sorgenti con i quali approcciarsi meglio al codice, alla prossima lezione di AS3

Scarica il sorgente
Guarda il Tutorial

Autore: Giuliano Ambrosio

Giuliano Ambrosio è un Web Designer Freelance di Torino che ama la grafica e sperimentare tecniche di creatività sul web. Grazie all'esperienza maturata nel campo del web design potrai scoprire i servizi disponibili, oppure guardare i suoi ultimi lavori.