Comunidad de diseño web y desarrollo en internet online

Desplazar mc con boton

Citar            
MensajeEscrito el 30 Dic 2009 02:48 pm
Hola!!

Estoy intentando hacer una galería en la que un mc enmascarado se desplaza 475px cada vez que se clicka un botón.

En el código:

Código ActionScript :

boton.onRelease = function() {
   var myTween:Tween = new Tween(mc, "_x", mx.transitions.easing.Regular.easeOut, -475, 0, 1, true);
};


el valor -475 debería ser una variable para que al siguiente click sea -950, -1425, etc. Como soy un torpe con las matemáticas, me he quedado atascado. Tengo 1 solo fotograma, y todo el código ahí mismo. Sospecho que debería ubicar el código del botón dentro del botón, y las variables en el AS del fotograma... ¿no?
Ufff... una ayudita me vendría muy bien...

Gracias!!!

Por midisseny

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Dic 2009 03:02 pm
Si te entendí bien, lo que no sabes es como crear esto del Tween que cada vez se desplace 475 para atrás, si eso es así, puedes hacer lo siguiente:

Código ActionScript :

boton.onRelease = function() { 
   var myTween:Tween = new Tween(mc, "_x", mx.transitions.easing.Regular.easeOut, clip._x-475, 0, 1, true); 
}; 


De esta forma, el sistema chequeará la posición actual y siempre le restará 475, pero si quieres hacerlo mejor yo lo haría así:

Código ActionScript :

var moving:Boolean = false;
function moveClip():Void{
    if(!moving){
         moving = true;
         var myTween:Tween = new Tween(mc, "_x", mx.transitions.easing.Regular.easeOut, clip._x-475, 0, 1, true); 
         myTween.onMotionFinished = function(){
             moving = false;
          }
     }
}
boton.onRelease = moveClip;


De esta manera no permitimos que el clip solape tweens ni cosas raras y asi siempre se mueve de 475 en 475 de manera prolija y precisa.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 30 Dic 2009 03:19 pm
Madre mia, que malo soy con estas cosas: tu primera solución me funciona perfectamente. Voy a revisar tu segunda solución para seguir tu consejo y hacer las cosas lo mejor posible.

Muchísimas gracias Hernán.

Por midisseny

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Dic 2009 07:17 pm
Efectivamente: la primera solución funciona, pero al clickar en el botón antes de que finalice la animación el valor de _x se desvirtúa y los elementos acaban no encajando en la máscara.
Con la solución limpia que me recomiendas esto queda resuelto.

Gracias de nuevo!

Por midisseny

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Dic 2009 03:17 am
Por ello es siempre muy útil pararte a pensar en simple las cosas. Un libro decía que cuando programes pienses que le hablas a un niño genio de 5 años, que sabrá como entnederte, pero no asume cosas.

Por ello, si quieres explicarle como caerá algo, no es suficiente solo decirle que es un decremento en el eje Y, sino que existe rebote, gravedad, etc...

Este simple ejercicio te ayudará a la hora de programar, ya que ya tendrás en claro que quieres hacer antes de poner la primera linea en el programa.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox

 

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