Comunidad de diseño web y desarrollo en internet online

AYUDA CON ESTE DRAG EASING Y SU LÍMITES POR FAVOR

Citar            
MensajeEscrito el 21 Nov 2006 02:03 pm
Estoy haciendo un drag con easing de la siguiente manera:

Código :

//Sobre el MC a arrastrar coloqué el siguiente script 

onClipEvent (load) { 
xfinal = _x; 
yfinal = _y; 
} 
onClipEvent (enterFrame) { 
if (arrastrar) { 
x = _root._xmouse+xd; 
y = _root._ymouse+yd; 
} else { 
x = xfinal+xd; 
y = yfinal+yd; 
} 
_x = _x+(x-_x)/2; 
_y = _y+(y-_y)/2; 
} 
on (press) { 
_quality = "MEDIUM"; 
arrastrar = true; 
xd = _x-_root._xmouse; 
yd = _y-_root._ymouse; 
} 
on (release, releaseOutside) { 
_quality = "BEST"; 
arrastrar = false; 
xfinal = _root._xmouse; 
yfinal = _root._ymouse; 
} 

probé con un if EN EL ONRELEASE DE LA SIG manera, el:

Código :

on (release, releaseOutside) { 
_quality = "BEST"; 
arrastrar = false; 
xfinal = _root._xmouse; 
yfinal = _root._ymouse; 
} 


lo cambié por :

Código :

on (release, releaseOutside) { 
_quality = "BEST"; 
arrastrar = false; 
if(_root._xmouse<=40){ 
this._x=150} 
//para que vuelva a su lugar inicial, también lo probé con xfinal 
else{ 
xfinal = _root._xmouse; 
yfinal = _root._ymouse; 
} 
} 

de esta manera el mc se me devuelve a cualquier lado...
lo malo es que como no lo hice con stardrag no le puedo poner los límites con stopdrag( no recuerdo como pero acá irían los límites si la memoria no me falla )...

en fin ...

alguna idea ???

me faltan dos cosas:
1.- Ponerle límites
2.- borrar el enterframe ( para no gastar recursos de más, se me inmagina que hay que hacerlo con un prototipo... pero nisiquiera se lo que es un prototipo, aunque lo he utilizado a veces )

El de los límites me urge más,ayer estuve tratando todo el día sin éxito...
Gracias.


[zah] Usa las etiquetas code al escribir código[/zah]

Por kiltroconpulgas

96 de clabLevel



 

safari
Citar            
MensajeEscrito el 21 Nov 2006 04:24 pm
Lo de los límites es fácil:

Código :

onClipEvent (enterFrame) {
   if (arrastrar) {
      x = _root._xmouse+xd;
      y = _root._ymouse+yd;
   } else {
      x = xfinal+xd;
      y = yfinal+yd;
   }
   _x = _x+(x-_x)/2;
   _y = _y+(y-_y)/2;
   if (_x<0) {
      _x = 0;
   } else if (_x>200) {
      _x = 200;
   }
   if (_y<0) {
      _y = 0;
   } else if (_y>200) {
      _y = 200;
   }
}


Y lo demás pues tienes que hacerlo desde la línea del tiempo así. Y lo de borrar el enterFrame, realmente no te lo recomiendo a menos que tengas muchos clips, ya que te complicarías demasiado al programar.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 21 Nov 2006 05:12 pm
Bueno, muchas Gracias.

Por kiltroconpulgas

96 de clabLevel



 

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.