Para hacer un efecto muelle yo suelo utilizar esta función:
Movieclip.prototype.elasticScale = function(target, accel, convert) {
xScale = xScale * accel + (target - this._xscale) * convert
yScale = yScale * accel + (target - this._yscale) * convert
this._xscale += xScale
this._yscale += yScale
}
(puedes modificar la propiedad que atacas del clip segun te convenga).
espero te sirva.
ignasi rifé
-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre
de Hari Seldon
Enviado el: jueves, 29 de septiembre de 2005 11:06
Para: [email protected]
Asunto: RE: [ASNativos] EFECTO MUELLE
Vaya, menos mal que me leo a mi mismo...
Aquí me he saltado/olvidado de un paso;
Froz = nu * Normal
Normal = Peso = m * g
Froz = nu * m * g = nu' * m
Para una superficie plana con un objeto moviéndose sobre ella,
siendo nu el coeficiente de rozamiento específico de la superficie, que
suele variar entre 0,1 y 0,2 normalmente, pero como g es una constante
(aceleración de la gravedad), se suele englobar nu * g en una constante nu'
que, cómmo g es igual a 9,81, nu' vale aproximadamente entre 1 y 2. Con lo
cuál:
-k * x + nu' * m = m * a =>
a = - (k / m ) * x + nu' = - k' * x + nu'
x = x0 + v0 * t + 1/2 * a * t^2 =>
x = x0 + v0 * t + 1/2 * (-k' * x + nu') * t^2
Si además calculamos los "cambios" en un onEnterFrame, el término t,
tiempo, que nosotros estamos considerando que lo medimos en frames, vale la
unidad, con lo cuál:
x = x0 + v0 - 1/2 * k' * x + 1/2 * nu'
Ojo que estamos calculando un incremento en X...
Aplicando esa ecuación en cada onEnterFrame del MovieClip que
queramos mover con ese tipo de movimiento, guardando la posición anterior, y
los valores constantes, ya se tendría un movimiento tipo "muelle"
Mis disculpas por el error... Pero escribir de noche con sueño es
_malísimo_
Saludos.
> -----Mensaje original-----
> De: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] En nombre de Hari Seldon Enviado
> el: jueves, 29 de septiembre de 2005 0:16
> Para: [email protected]
> Asunto: RE: [ASNativos] EFECTO MUELLE
>
> Lógicamente, si no hay fricción, el movimiento pendular no se
detiene
> :)
>
> Pero para empezar a trastear esas ecuaciones sirven....
>
> De todas formas, meter una fuerza de fricción sería
> (relativamente)
> sencillo
>
> Si suponemos que el objeto en cuestión está sobre una superficie
> plana, y el movimiento es en el eje X, la fuerza de rozamiento debido
> a la Normal al plano de movimiento sería:
> F = (nu) * m
> Dónde (nu) es la constante de rozamiento específica de la superficie
> de movimiento.
>
> El sumatorio queda entonces:
> - k * x + (nu) * m = m * a
> Ojo con los signos, la fuerza de rozamiento siempre se opone al
> movimiento... Y en el caso de un muelle el movimiento es "negativo"
> (lo estiras, y el muelle vuelve al punto original) Si de ahí se puede
> despejar la aceleración:
>
> a = -k / m * x + (nu)
>
> Con lo que la aceleración quedaría:
>
> a = - k' * x + (nu)
>
> Que divertida que era la física de 2º de bachillerato jejejejeje ;)
>
> Saludos.
>
> PS: meter rozamientos con el aire, ya complica mucho la historia, si
> queremos meter fórmulas "reales", porque el aire sería un fluído, con
> lo cuál habría que aplicar la ecuación de navier-stokes y es un poco
> coñazo...
>
> > -----Mensaje original-----
> > De: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] En nombre de EvolvE Enviado el:
> > miércoles, 28 de septiembre de 2005 21:35
> > Para: [email protected]
> > Asunto: Re: [ASNativos] EFECTO MUELLE
> >
> > Yo incluiria una aceleracion negativa constante para que el
> > movimiento se detuviera, sino tendriamos un movimento periódico
> > infinito.
> > Simularía la fuerza de rozamiento del aire y el comportamiento no
> > ideal del muelle.
> >
> > Hari Seldon escribió:
> >
> > > Teniendo en cuenta que:
> > >
> > >Fe = - k * x
> > >
> > >Dónde
> > >Fe: fuerza elástica
> > >k: constante del muelle
> > >x: desplazamiento en eje x (o sea, en el eje dónde está el muelle)
> > >
> > >Según el segundo principio de la dinámica (Segunda ley de Newton):
> > >Sumatorio F = m * a
> > >(Sumatorio de Fuerzas es igual a la masa por la aceleración)
> > >
> > >Las fuerzas aplicadas en el caso de un muelle, serán
> > únicamente la Fe, con
> > >lo cuál:
> > >- k * x = m * a =>
> > >a = (-k/m) * x =>
> > >a = k' * x
> > >(suponiendo claro está masa constante)
> > >
> > >Si tenemos en cuenta:
> > >a = (v - v0) / t
> > >x = x0 + v0*t + 1/2 * a * t^2
> > >
> > >Dónde:
> > >v: velocidad (eje X)
> > >v0: velocidad inicial (eje X)
> > >x: espacio en eje X
> > >x0: espacio inicial en eje X
> > >t: tiempo
> > >a: aceleración
> > >
> > >Que aplicando la ecuación de arriba, se obtiene:
> > >
> > >x = x0 + v0*t + 1/2 * k' * x * t^2
> > >
> > > Con esto deberías de poder solucionar tu problema creo yo :)
> > >
> > > Si no lo ves claro, piensa que en vez de "t" puedes
> > trabajar con el
> > >número de frames (con un onEnterFrame), y si quieres
> > trabajar con tiempo,
> > >entonces necesitas un setInterval.
> > >
> > > Saludos.
> > >
> > >
> > >
> > >
> > >>-----Mensaje original-----
> > >>De: [EMAIL PROTECTED]
> > >>[mailto:[EMAIL PROTECTED] En nombre de [EMAIL PROTECTED]
> > >>Enviado el: miércoles, 28 de septiembre de 2005 19:43
> > >>Para: Lista 5DMS
> > >>Asunto: [ASNativos] EFECTO MUELLE
> > >>
> > >>Hola. Creo recordar que hace bastante tiempo, alguien mostró el
> > >>codigo para hacer un movimiento de muelle. En concreto, el efecto
> > >>de arrastrar algo, y al soltarlo que vuelva a su posicion con un
> > >>efecto muelle. No me refiero a las ecuaciones de Robert Penner,
> > >>sino un sencillo codigo que hacia este efecto.
> > >>He estado buscando por los archivos de la lista y no lo he
> > encontrado.
> > >>Si alguien lo tiene a mano, se lo agradecería un montón.
> > >>Gracias
> > >>
> > >>----------------------------------
> > >>Lista ASNativos:[email protected] http://www.5dms.com/listas
> > >>----------------------------------
> > >>
> > >>
> > >
> > >
> > >----------------------------------
> > >Lista ASNativos:[email protected]
> > >http://www.5dms.com/listas
> > >----------------------------------
> > >
> > >
> > >
> > >
> > >
> >
> > ----------------------------------
> > Lista ASNativos:[email protected]
> > http://www.5dms.com/listas
> > ----------------------------------
>
>
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------
----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------
----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------