Comunidad de diseño web y desarrollo en internet online

Moviemiento de MC

Citar            
MensajeEscrito el 07 Jul 2009 02:40 pm
Hola a todos , y gracias de antemano.

Es la primera vez que escribo aqui, aunque llevo mucho tiempo leyendo los tutos y el foro, aunque sin registrarme.

Necesito ayuda con el movimiento de un mc(con nombre de instancia: mc) que se mueve verticalmente(solo verticalmente) y que necesito que cuando llegue a su destino, si vuelvo a pulsar el boton, baje de nuevo a la posicion inicial.

He estado leyendo varios temas parecidos, pero no he encontrado respuesta, y si la hay, siento no haber sabido encontrarla.

El codigo que estoy usando es el siguiente:

- Para el boton:
on (release) {
_root.a *= -1;
//reducimos su pos en uno para poder mover
if (yPos == -20) {
mc._y += 1;
}
//aumentamos su pos en uno para poder mover
if (yPos == 335.1) {
mc._y -= 1;
}
//le asignamos el valor a(5) a nuestra func movimiento
movimiento(a);
//trace(_root.a);
}
- Para el mc:
var a:Number = 20;

//func para mover
function movimiento(a){
this.onEnterFrame = function(){
//obtenemos la posicion en la que esta el clip
yPos = mc._y;
//creamos en moviemiento
//le damos los limites para movers
if(yPos <= 335.1 && yPos > -20){
mc._y += a;
}

}
}


El codigo lo he ido cogiendo de diferentes post, y me funciona bien, pero cuando llega a su destino y se detiene, no vuelve a bajar. ¿Podriais echarme una manita a conseguirlo?

Muchas gracias.

Por Wyrm

Claber

1545 de clabLevel

15 tutoriales

 

firefox
Citar            
MensajeEscrito el 08 Jul 2009 10:14 am
He conseguido que suba y baje al pulsar el boton, pero el probema viene cuando llega a su destino( verticales inicio: 335.1 y final -20). Me hace una especie de reboteo. He cambiado el codigo del mc a esto otro, añadiendole un else:

var a:Number = 20;
//func para mover
function movimiento(a) {
this.onEnterFrame = function() {
//obtenemos la posicion en la que esta el clip
yPos = mc._y;
yPos<=335.1 && yPos>=-30
//creamos en moviemiento
//le damos los limites para movers
if (yPos<=335.1 && yPos>=-30) {
mc._y += a;
} else {
mc._y -= a;
}

};
}

Pero como ya he dicho, me rebota.Pero si cambio la variable a, que es la que hace el reboteo, no me subi, y mucho menos, me baja.....:(

Alguien me ayuda? :(

Gracias

Por Wyrm

Claber

1545 de clabLevel

15 tutoriales

 

firefox
Citar            
MensajeEscrito el 08 Jul 2009 11:19 am
Si he entendido bien, es un MC que empieza a subir y que llega a una posición, cuando llega si aprietas un botón vuelve para abajo, entonces supongo que se queda abajo hasta que vuelves a pulsar el botón que sube para arriba no?

En ese caso yo haría... (no esta probado esta escrito aquí mismo así que como siempre me despisto seguro que habrá errores )
He utilizado el objeto Tween si quieres puedes encontrar como funciona aquí

Código ActionScript :

import mx.transitions.Tween;   
import mx.transitions.easing.*;   
move_btn.onRelease = movement;   
function movement() {   
       if(mc._y > 335) {   
                var Movimiento = new Tween(mc, '_y', strong.easeInOut, mc._y, -20, 3, true)   
      } else if (mc._y < -19) {   
                var Movimiento = new Tween(mc, '_y', strong.easeInOut, mc._y, 335.1, 3, true)   
       } else {  
               var Movimiento = new Tween(mc, '_y', strong.easeInOut, mc._y, 335.1, 1, true)  
 
} 
} 


Me he tomado la molestia de que si aprietas el botón cuando esta por el medio vuelva a la posición inicial 335.1

Espero que te ayude :)

Por DeBeNoPrMa

12 de clabLevel



 

Booty Bay

chrome
Citar            
MensajeEscrito el 08 Jul 2009 12:18 pm
Si, has entendido bien. Es un logotipo circular que sube verticalmente hasta cierta posicion(-20) desde la inicial(335.1).

Muchas gracias por las molestias.

Una pregunta: Lo de Tween habia entendido que habia que descargar ciertos archivos, o algo asi, no? O con poner import ya sobra?

Por Wyrm

Claber

1545 de clabLevel

15 tutoriales

 

firefox
Citar            
MensajeEscrito el 08 Jul 2009 12:40 pm
MUCHAS GRACIAS.

Funciona perfecto! :D:D

Por Wyrm

Claber

1545 de clabLevel

15 tutoriales

 

firefox
Citar            
MensajeEscrito el 08 Jul 2009 01:25 pm
Me alegro :D
PD: solo con import ya funciona

Por DeBeNoPrMa

12 de clabLevel



 

Booty Bay

chrome
Citar            
MensajeEscrito el 09 Jul 2009 07:45 am
Me acabo de dar cuenta, de que para que siba la primera vez, hay que pulsar el botn dos veces...

No entiendo muy bien el porque...

Por Wyrm

Claber

1545 de clabLevel

15 tutoriales

 

firefox
Citar            
MensajeEscrito el 09 Jul 2009 09:00 am
A si? a mi no me pasaba esto... :S me puedes enviar tu .fla a mi gmail? esta en el perfil :)

Por DeBeNoPrMa

12 de clabLevel



 

Booty Bay

chrome
Citar            
MensajeEscrito el 09 Jul 2009 09:05 am
OK, ahora te lo envio :)

Gracias.

PD: Es MX 2004...
SI es algo rudo....jejeje es lo que hay...^^:P

Por Wyrm

Claber

1545 de clabLevel

15 tutoriales

 

firefox

 

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