Comunidad de diseño web y desarrollo en internet online

Drag and Drop de un MovieClip en Actionscript 3

Este es un pequeño ejemplo de como hacer un arrastrar y soltar de un movieclip en actionscript3.

El primer paso será crear en Flash 9 un Movieclip al que colocaremos el nombre de instancia "clip".

En el fotograma añadiremos el código para detectar los eventos de onPress y onRelease del MovieClip:

Código :

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

Ahora a estas funciones que lanzan los listeners colocaremos el startDrag() y el stopDrag() que moverán el MovieClip:

Código :

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


Así de simple será actualizar un drag & drop a Actionscript 3.

Para mejorar este código podríamos colocarlo dentro de una clase:

Código :

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();
      }
   }
}

TODO este código deberá ir dentro de un archivo actionscript que se debe llamar "Drag.as", e ir colocado al lado de nuestro archivo .FLA, o dentro de un package:

Código :

package nombrecarpeta
{
...
}

Una vez creado este archivo, utilizaremos el drag & drop en nuestra pelicula de la siguiente manera:

Código :

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

Importaremos la clase a la pelicula, crearemos una instancia de la clase y le pasaremos el monbre del MovieClip a mover como parametro... y listo

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate