jueves, 12 de abril de 2007

Drag and Drop en Action Script 3

Este es un pequeño ejemplo de como hacer un darg&drop de un movieclip en actionscript3.

Crearemos en flash9 un Movieclip al que llamaremos "clip".

En el fotograma añadiremos el siguiente código:

clip.addEventListener(MouseEvent.MOUSE_DOWN, onMouse_Down);
clip.addEventListener(MouseEvent.MOUSE_UP, onMouse_Up);

Con esto asignaremoslos eventos de pulsar y soltar el mouse sobre el clip a las funciones "onMouse_Down" y "onMouse_Up".
Ahora definiremos estas funciones:

function onMouse_Down(e:Event):void{
clip.startDrag()
}
function onMouse_Up(e:Event):void{
clip.stopDrag();
}

Con esto ya tendríamos el MovieClip "clip" arrastrable.

Este mismo código lo podriamos haber puesto dentro de una clase AS3:

package{
import flash.display.*
import flash.events.*;
//————————————
public class Drag extends MovieClip{
public var clip:MovieClip = new MovieClip();
//————————————
public function Drag(queClip){
clip = queClip
clip.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
clip.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
//————————————
private function onMouseDown(e:Event):void{
clip.startDrag()
}
//————————————
private function onMouseUp(e:Event):void{
clip.stopDrag();
}

}
}

Al crear el contructor de la clase deberemos pasarle el MovieClip a arrastar como parámentro:

import Drag
var drag:Drag = new Drag(clip);

1 comentario:

Anónimo dijo...

ALbert Script, creo que estas utilizando el metodo copy paste, ademas no escribes de donde tomaste el codigo.