http://www.cristalab.com/tutoriales/11/menu-con-efecto-de-easing-en-flash
A partir de la forma en que se mueve el mc en este tutorial, yo hice que las coordenadas las de con el movimiento del mouse, cree una variable numerica que da el tamaño en x y en y del stage llamadas sizestagex y sizestagey, tambien otras variables que son para la posición del mouse, utilicé onMouseMove y dentro de este puse if (coordenadax<50) mi_clip.x =-800, lo que moverá mi_clip a la coordenada en x=-800, luego en else if (coordenadax>sizestagex-50), lo que hará que cuando el mouse se ponga a 50px del borde derecho, el mc se vaya a otra coordenada,
pongo el código que utilicé:
Código :
Stage.align = "TL";
Stage.scaleMode = "noScale";
//--------------------------
var sizestagex:Number = Stage.width;
var sizestagey:Number = Stage.height;
var pantalla:Object = new Object();
pantalla.onResize = function() {
sizestagex = Stage.width;
sizestagey = Stage.height;
}
Stage.addListener(pantalla);
pantalla.onResize();
//----------
mi_clip.x = -200;
mi_clip.y = -200;
mi_clip.onEnterFrame = function() {
this._x += (this.x-this._x)*0.05;
this._y += (this.y-this._y)*0.05;
};
//----------
onMouseMove = function(){
var coordenadax:Number = _xmouse;
trace("x = "+coordenadax)
if (sizestagex<800){
if (coordenadax<50){
mi_clip.x = 0;
}
else if (coordenadax>sizestagex-50){
mi_clip.x = -800+sizestagex;
}
else {
mi_clip.x = stop
}
}
else {
if (coordenadax<50){
mi_clip.x = (sizestagex-800)/2;
}
else if (coordenadax>sizestagex-50){
mi_clip.x = (-800+sizestagex)/2;
}
else {
mi_clip.x = stop
}
}
var coordenaday:Number = _ymouse;
trace("y = "+coordenaday)
trace(" ")
if (sizestagex<800){
if (coordenaday<50){
mi_clip.y = 0;
}
else if (coordenaday>sizestagey-50){
mi_clip.y = -800+sizestagey;
}
else {
mi_clip.y = stop
}
}
else {
if (coordenaday<50){
mi_clip.y = (sizestagey-800)/2;
}
else if (coordenaday>sizestagey-50){
mi_clip.y = (-800+sizestagey)/2;
}
else {
mi_clip.y = stop
}
}
}
ahora bien en donde dice else, le doy a el mc que se detenga, pero el movimiento es muy seco, a comparación del movimiento con easing que da cuando uno mueve el mc, entonces lo que quiero es saber como averiguar mientras se mueve el mc, de una coordenada a otra, su posición en el stage, para por medio de alguna formula, hacer que se frene pero cambiando el valor de mi_clip.x, osea si va por la coordenada en x= -200, hacer que se detenga 50 px "mi_clip.x = (coordenada actualdel mc + 50)" después con el efecto de easing, ya que con el stop, se detiene exactamente en el momento que el mouse sale del area donde funciona el código, y se detiene bruscamente.
pd: el tamaño de mi swf es 400x400 y el movieclip que se mueve detras es de 800x800
o si a alguien se le ocurre otra forma de hacer que se detenga suavemente.
muchas gracias a quien me ayude
