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
Prezzo: EUR 7,90
Promozione: EUR 6,72
Prezzo: EUR 49,90
Promozione: EUR 42,42
Prezzo: EUR 12,90
Promozione: EUR 10,96
Prezzo: EUR 40,00 |
Promozione: EUR 38,00
Articoli simili AS3FlashTutorial AS3

rob
16 aprile 2009
utile come sempre! grazie
Marco
16 aprile 2009
Grazie Julius, sto imparando AS3 grazie anche a te ;) sei il migliore chiaro e preciso
Rossy
15 dicembre 2009
Ciao, volevo farti una domanda su un progetto che sto realizzando, da codice creo un oggetto video e definisco la sua posizione (sempre da codice) all’interno di una cornice, realizzata nello stage. E’ possibile trascinare entrambi?
Spider
11 dicembre 2010
Ciao Julius, puoi aiutarmi?
devo fare una piccola variante al drag & drop: devo impostare come target un Movieclip creato run-time (una foto caricata da remoto).
Ho provato con:
(myMC.name impostato subito dopo la sua creazione)
var myTargetName:String = myMC.name;
ma non funziona.. perchè?