Estoy haciendo un pequeño menu que se compone de diferentes fichas las cuales se pueden arrastrar y colocar al gusto.
Para darle un efecto de suavidad al arrastre uso TweenLite.
No me acaba de funcionar bien, el problema esta cuando hago MouseUp fuera del clip....
alguien sabe como mejorar este comportamineto???
Ahi va la clase que uso:
Código ActionScript :
package {
import flash.display.MovieClip;
import flash.events.*;
import gs.TweenLite;
import gs.easing.*
import flash.filters.DropShadowFilter
public class Ficha extends MovieClip {
//constructor
public function Ficha() {
this.buttonMode =true
this.addEventListener(MouseEvent.MOUSE_DOWN,comienzaDrag);
this.addEventListener(MouseEvent.MOUSE_UP,finDrag);
}
function comienzaDrag(e:MouseEvent):void {
//la traemos al frente
var arriba:int = e.target.parent.numChildren - 1;
e.target.parent.setChildIndex(e.target, arriba);
//Le aplicamos un filtro de sombra (distancia, angulo, color, alpha, blurX, blurY)
e.target.filters=[new DropShadowFilter(5,45,0x000000,0.5,15,15)];
e.target.addEventListener(MouseEvent.MOUSE_MOVE, mover);
}
function finDrag(e:MouseEvent):void {
e.target.filters=null;
e.target.removeEventListener(MouseEvent.MOUSE_MOVE, mover);
}
function mover(e:MouseEvent):void {
TweenLite.to (this, 1, {x: this.parent.mouseX, y: this.parent.mouseY, ease:Cubic.easeOut});
}
}
}
Luego en el fla tengo un MC asociado a esta clase que instancio de la forma habitual:
Código ActionScript :
import Ficha; var ficha:Ficha = new Ficha(); ficha.x = 200 ficha.y = 200 addChild(ficha);
Llevo rato dandole vueltas y no consigo hacerlo funcionar bien, a ver si me podeis ayudar
Gracias de antemano
