Controlar la direccion de la barra de tiempo de un clip
2 seguidores
Saludos otra vez. Llamenme lo q quieran, pero me veo incapaz de saber si existe la forma de controlar el avance o retroceso de un movieClip.
Es decir de porder controlar i la animacion va hacia delante o hacia atras.
Gracias de nuevo
dob
Mmmm, la verdad es que no se muy bien que es lo que buscas pero por si te sirve exite una propiedad llamada "_currentframe", con la que puedes conocer el número del fotograma en el que se encuentra un clip de película en un momento determinado.
AVN
Puede q me complicase la vida buscando algo q se puede hacer de formas mas faciles.
Es para realizar el menu de mi curriculum.
Lo q busco es poder controlar un moviclip q abre una pestaña, pero quiero controlar q cuando el raton salga del area del boton, esta pestaña retroceda desde el mismo punto donde esta.
Veo q es una solucion muy estendida, por eso crei q podria existir un control de retroceso.
Supongo q la solucion esta en hacer las dos animaciones, la de avance i la de retroceso i q al On rollout, iniciar la animacion de retroceso desde el fotograma correspondiente al fotograma de avance actual
dob
Lo que buscas puedes hacerlo con actionscript: un ejemplo cutre podi ser el siguiente:
En un clip colocas lo siguiente:
onClipEvent (load) {
friction = "0.3";
_root.fin=_x
}
onClipEvent (enterFrame) {
_x += difx*friction;
difx = int(_root.fin)-_x;
}
Y en un botón esto:
on (rollOver) {
_root.fin =200
}
on (rollOut) {
_root.fin =0
}
Donde _root.fin es la coordenada x hacia donde vas, para avanzar colocarás 200 y para regresar 0. Quizás a partir de esto puedas montar
lo que necesitas.
AVN
De p.. m... funciona perfectamente como yo queria.
Peroooo, si no es mucho pedir, me lo puedes explicar. Se q funciona, pero no se como lo hace.
Gracias
dob
A ver la chicha está aquí:
_x += difx*friction;
difx = int(_root.fin)-_x;
Es una función basica de frenado. La idea es que sabiendo a donde quieres ir (_root.fin) y sabiendo en cada momento donde estás (_x) se puede obtener la distancia que queda por recorrer (difx) y sumarsela al propio movieclip (_x) para desplazarlo. Como cada vez el clip está mas cerca del destino, la distancia a recorrer se hace menor y esto consige un efecto de frenado.
Con la variable friction controlas la velocidad de dicho efecto. Cuanto mas cerca de 1 este mas rapido ira.
Ejemplo: punto inicial = 0, final = 200
_x += 0*0.3 //0
difx = 200 - 0; //200
_x += 200*0.3 // 60
difx = 200 - 60; //140
_x += 140*0.3 // 102 (60+42)
difx = 200 - 102; //98
...
y asi sucesivamente hasta que la diferencia sea 0. Como con enterFrame estamos continuamente chequeandolo en cuando cambies es valor del parámetro final (_root.fin) todo se vuelve a recalcular.