No quiero usar el Tweening
4 seguidores
Me he dado cuenta que las animaciones en Flash que utilizan la linea de tiempo con el Tweening son mucho menos fluidas que aquellas que utilizan coordenadas. Quisiera saber como decirle a un movieclip que se mueva por el escenario utilizando coordenadas.
Si podeis ayudarme os estaré muy agradecida.
Gracias.
Karonte
¿Te refieres a hacer movimiento dinámico?
palasaca
Pos creo que si. Para que te hagas una idea, me refiero a conseguir el mismo efecto de transicion que se consigue con un tweening pero por coordenadas, mediante action script.
Karonte
¿Cómo vas de matemáticas?¿Y de física?
Es algo largo de contar y tienes que saber unos mínimos...
palasaca
Uy que miedo, bueno, si te sirve de algo te dire que ya he hecho algunas cositas en action script y que mas o menos entiendo el codigo. Por si te sirve te dire que el movimento no lo quiero asociado a un boton si no que querria que una cortinilla se deslizara al entrar en el frame directamente sin tener que hacer nada.
Gracias una vez mas Karonte.
palasaca
De momento tengo un codigo parecido a esto...no se si voy por buen camino...
onClipEvent (enterframe) {
diferencia=_root.objetivox - _root.cortina._x;
numeroBase=1.6
numDeslizar=diferencia / numeroBase;
}
Karonte
Haber empezao por ahi! ;)
Cuando haces eso lo quieres es conseguir destinos "fraccionados" para cada Fotograma hasta llegar al destino.
Si quieres mvto. contínuo dile simplemente a tu cortina._x que se mueva un número determinado:
_root.cortina._x += n;
Si quieres que sea suavizado el mvto dile que añada una fracción que se atenúe con el tiempo:
_root.cortina._x += (destino - _root.cortina._x)/factor;
Acuérdate de quitar el onEnterFrame al llegar al destino.
Usuario desconocido
Échale un vistazo al pedazo de prototipo que se curró Zeh http://proto.layer51.com/d.aspx?f=804 ya verás como te hace la vida más fácil.
Resumiendo, copias todo el tocho de código, te lo guardas en un archivo, por ej: mc_tween.as y luego en Flash lo incluyes con
<code>
#include "mc_tween.as"
</code>
Y ya tienes disponibles las funciones tween y derivados para hacer tweenings por código, con un montón de opciones por parámetro.
Un miniejemplo sería esto
<code>
posxFinal = 350;
posyFinal = -100;
duracion = 1; //duración en segundos
tipo = "easeOutQuart"; //tipo de aceleración, hay un montón en el código del prototipo
miclip.tween("_x", posxFinal, duracion, tipo);
retardo = 1;
miclip.tween("_y", posyFinal, duracion, tipo, retardo);
</code>
En este ejemplo movería en 1 segundo miclip hasta la posicion x 350 y seguidamente después se movería a la posición y -100.
palasaca
muchisimas gracias msanchez eres un sol!!
De todas maneras no entiendo bien como y donde debo poner el codigo para que todo funcione correctamente. Vamos, que si no te importa me lo expliques como a una tonta, esto lo pones aquí y de esta manera...etc...gracias
pez
deberias usar setInterval si deseas lograr esos movimientos tan fluidos.
pd: y repasar las mates y la fisica.
Usuario desconocido
Mejor te paso un ejemplo y lo verás más claro.
Bajatelo de aquí
El código está en el primer frame y es este
<code>
#include "mc_tween.as"
duracion = 1; //En segundos
tipo = "easeOutExpo";
retardo = 0;
clip.tween("_x", 200, duracion, tipo, retardo);
retardo++;
clip.tween("_y", 200, duracion, tipo, retardo);
retardo++;
clip.scaleTo(150, duracion, tipo, retardo);
retardo++;
clip.alphaTo(0, duracion, tipo, retardo);
</code>
En el ejemplo encadeno 4 movimientos en un solo frame, diciendole que el primero empiece con retardo 0, el siguiente con retardo 1, etc.
Hay funciones para hacer transiciones de _alpha o de escala, por ejemplo alphaTo y scaleTo, pero para verlos mejor mírate el código de mc_tween.as porque ahí lo explica todo, parámetros inclusive
Salu2!
palasaca
Asi da gusto, que currado!! Muchisimas gracias msanchez.