Hola he estado haciendo una funcion de desaceleracion, basada en la
parabola.
Lo malo es q ahora he mirado el correo y he visto tu fla, pero no tengo
ahora mas tiempo para ponerme a destriparlo y probar la funcion ahi :(
Y ademas si no puedes calcular la distancia q quieres moverlo, pues no se
..., es lo q necesitarias para esta funcion, no el valor final pero si la
distancia a mover. (mierda, es lo mismo no?)
De todos modos la voy a pegar por si alguien tiene ganas de echarle un
vistazo:
p.ej para llamarla un MC:
onClipEvent (mouseDown) {
_root.descelera(this,100,1);//el '1' para abajo, y '-1' para arriba
}
function descelera(quien,distancia,signo) {
Xini = Math.floor(Math.sqrt(2*distancia));
Yini = quien._y;
y=new Array();
for (i=Xini,j=0; i>0; i--,j++) {
y[j] = -Math.pow(i, 2)/2;
}
_root.onEnterFrame = function() {
a = a+1;
setProperty(quien, _y, Yini+((distancia+y[a])*signo));
if (a>=y.length) {
delete this.onEnterFrame;
delete a;
}
};
}
//si se desea mov horizontal cambiar las dos _y por _x
Una breve explicacion: en la parabola cuando se acerca al 0 (la curva,
vamos) las x lo hacen aritmeticamente mientras las y lo hacen
geometricamente, lo mismo q la caida libre (al reves) o la formula general
del movimiento acelerado.He cogido una parabola:
y=(1/2)*x*x (al cuadrado)
Xini segun la distancia me va a dar cuantas x hay y con ellas genero el
array y q van a ser los valores q les corresponden a traves de la formula de
la parabola.
Luego con el enterframe le va dando esos valores del array y a la posicion
_y del MC
----- Mensaje original -----
De: "DSERRANOLINARES" <[EMAIL PROTECTED]>
Para: <[EMAIL PROTECTED]>
Enviado: mi�rcoles, 30 de julio de 2003 15:58
Asunto: Re: [ASNativos] menu con easing
Aqui teneis el fla:
http://www.terra.es/personal5/933861969/prueba/trabajos.fla
Ya conozco c�mo funcionan las easing ecuations, lo �nico que pasa es
que en este caso es dificil de hacerlo, debido a que existe un hitTest
calculando la posici�n y una serie de f�rmulas que no me permiten
conocer la posici�n futura.
Si veis el ejemplo vereis de que hablo.
El c�digo se encuentra en el primer fotograma del movie-clip
mc_contenedor.
Un saludo.
----- Mensaje Original -----
De: "Joseba Alonso" <[EMAIL PROTECTED]>
Fecha: Miercoles, Julio 30, 2003 10:33 am
Asunto: Re: [ASNativos] menu con easing
> Se que es algo un poco obvio, pero has probado con las ecuaciones
> de Robert
> Penner? Yo, en cuanto a easing las utilizo siempre. Tienes bastantes
> diferentes y son muy faciles de usar...
> http://www.robertpenner.com/easing/
>
> un saludo
>
> Joseba Alonso
> www.sidedev.net
> ----- Original Message -----
> From: "DSERRANOLINARES" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, July 30, 2003 9:43 AM
> Subject: RE: [ASNativos] menu con easing
>
>
> El easing tambi�n se conoce como movimiento con desaceleraci�n.
>
> El problema es que estoy haciendo un menu con hitTest que hace scroll
> seg�n la posici�n del rat�n. El problema es que el movimiento lo hace
> muy seco, por lo que me gustar�a incluirle desaceleraci�n al
> movimientodel menu. Pero con consigo sacarlo.
>
> Os pongo un ejemplo de lo que quiero hacer, y el code:
>
> Ejemplo: http://www.hugeinc.com/workbook/
>
> Code:
>
> // variables men�
> menuArriba = _root.menu_mc._y;
> menuAbajo = this._height+15-_root.menu_mc._height;
> // variables visor
> visorArriba = this._y;
> visorAbajo = this._y+this._height;
> // movimiento del men�
> this.onEnterFrame = function() {
> if (_root.contenedor_mc.hitTest(_root._xmouse, _root._ymouse)) {
> var porcentaje = (_root._ymouse-visorArriba)/
> (visorAbajo-visorArriba);
> _root.menu_mc._y = porcentaje*(menuAbajo-menuArriba)
> +menuArriba;
> if (_root.menu_mc._y<=100) {
> _root.menu_mc._y = 100;
> }
> //trace(_root.menu_mc._y);
> updateAfterEvent();
> }
> };
>
> Un saludo.
>
>
>
> <!-------------------------------
> Lista ASNativos:
> subscripciones/desubscripciones
> http://www.sidedev.ne
> -------------------------------->
>
> <!-------------------------------
> Lista ASNativos:
> subscripciones/desubscripciones
> http://www.sidedev.ne
> -------------------------------->
>
<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->
<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->