Como es sabido, se puede hacer una aproximación bastante certera a la ecuación de movimiento de un péndulo mediante funciones trigonométricas senos o cosenos en su rotación:
-
var ang:Number = Math.PI/2;//angulo de rotación
-
var omega:Number = 10;
-
var amplitud:Number = 4;
-
this.onEnterFrame = function() {
-
pendulo._rotation = amplitud*Math.sin(ang);
-
ang += omega/10;
-
};
Siendo péndulo un MC con anclaje superior centrado.
Sencillo:
Aunque si deseamos hacer variable su amplitud de movimiento mediante un drag, podemos hacer esto:
Los objetos son los mismos, el código es este:
-
var angulo:Number = Math.PI/2;
-
var omega:Number = 9.81;//la frequencia angular, en la realidad viene determinada por la gravedad.
-
/*Notas:
-
Gterrestre=9.81m/s^2
-
Glunar=1.62m/s^2
-
Gmarciana=3.71m/s^2
-
*/
-
pendulo.onPress = function() {
-
delete (onEnterFrame);
-
onEnterFrame = function () {
-
prota = (180/Math.PI)*-Math.asin((_xmouse-pendulo._x)/pendulo.barra._height);
-
pendulo._rotation = prota;
-
amplitud = pendulo._rotation;
-
};
-
};
-
pendulo.onRelease = function() {
-
comp();
-
};
-
pendulo.onReleaseOutside = function() {
-
comp();
-
};
-
function comp() {
-
//amplitud=radiantes!
-
//rotation=grados!
-
delete (onEnterFrame);
-
this.onEnterFrame = function() {
-
pendulo._rotation = amplitud*Math.sin(angulo);
-
if (angulo>2*Math.PI) {
-
angulo -= 2*Math.PI;
-
}
-
angulo += omega/100;
-
};
-
}
Si alargan la altura de la barra, el código se adaptará al cambio.
El archivo *fla original, lo encontrarán aquí.
A ver si alguien se anima y corrige los pequeños fallos ![]()
Me mareo !!! Cuac!
Tok, tok, tok ¡¡¡Está ocupaoooo!!! XD XD
Hola me gustaria que me ayudaran a saber como definir las tres cordenadas para aumentar o disminuir una imagen con un boton…
Gracias
Para augmentar una imagen de tamaño en ambos ejes, es flash debes usar:
_xscale
_yscale
Ambos operan en porcentajes. U_U
Gracias por responder…
yo lo habia hecho asi e igual funciono…
creo que es lo mismo
_root.todo.mapa._x = -950;
_root.todo.mapa._y = -350;
_root.todo.mapa._width=2000;
_root.todo.mapa._height=2000;
ahora bien no se como hacer para que no se vea de una si no que el aumento sea gradual lo intente asi:
_root.todo.mapa._width= (_root.todo.mapa._width + 10)
puedes meterlo dentro de un evento onEnterFrame:
_root.onEnterFrame=function(){
if (_root.todo.mapa._width< Tamaño final){
_root.todo.mapa._width= (_root.todo.mapa._width + 10)
}else{
delete(onEnterFrame);}
}
Gracias por todo pero por medio de un boton no funciona toca darle clic y clic hazta llegar al final
_root.mc_carcelen.onRelease=function(){
if (_root.todo.mapa._width
on(release){
_root.onEnterFrame = function(){
if (_root.todo.mapa._xscale
por eso te dije, “onEnterFrame”; no en “onRelease” U_U
este dialogo cada ves acepta menos lineas de texto?… bueno si funciona si pongo dentro de un “on(release)” el “onEnterFrame” pero moviendolo por las cordenas x y y no funciona se va de largo…
Gracias
es que yo tengo una lista de ciudades y al darle clic quiero que se vaya a la ciudad que escogio dentro del mapa…. y tambien quiero hacer un zoom in y un zoom out… gracias por tu ayuda… es de mucha utilidad
Gracias
pero me gustaria que mientras este presionado el boton vaya aumentando 10 pero no me funciona…. gracias por toda tu ayuda…
Gracias
Mándame un mail
espero que te haya llegado el mail….

OMG! lindo chat xD
Interesante… ya casi no me acuerdo de muchas de estás cosas
en cuanto al pendulo …
como hacer q pare naturalmente???
he intentado agregarle friccion pero no he podido…por fa si tienes la respuesta …escribeme….;) gracias
Multiplica la función que define la rotación por una exponencial de t negativo. U_U
E^(-b·t), donde b es el coeficiente de amortimiento.
no
entendi
no fue muy claro…………..=}
Échale un vistazo a esto:
La función original, la que no se para es A*sin(w*t+o)
Al amortiguarla, añadimos e^(-b*t):
A*e^(-b*t)*sin(w*t+o)
e^(-b*t) = 1/e^(b*t)
Con lo que cada vez se acercará mas al cero (sin llegar nunca a él) que hace que se vaya parando todo el movimiento al estar multiplicando.
Hola, ¿qué tal?
Podrías ayudarme… necesito saber qué función puedo/debo usar para hacer que la rotación de un movieclip siga la dirección del mouse.
Usa esto:
SuerT
holaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
como puedo construir un pendulo!?????
AlE, te refieres a dibujarlo o a programarlo?
[...] que yo era un genio de flash (no lo duden ni por un momento XD) Me dijo que si sabia como hacer un péndulo en flash. Le pasé ese mismo link, pero él quería un péndulo que oscilara [...]
Buenas tarde… Bleend
Sabes que subistes el archivo del pendulo que explicas aqui pero ma da error al querer descargarlo sera posible que lo montes nuevamente para poder chequearlo..????
Muchisimas Gracias…
Tala, ya lo tienes. Es que puse dos veces la parte de “http://”
Que rapido jejejej muchisimas Gracias… Sabes full Actionscript no?? yo siempre quiero hacer cosas locas pero como no domino mucho el Actionscript
Gracias..
Jaja, no, no se “Full AS”, se mates y algunas cosillas de AS
ups… el cache de mi maquina se quedo pegada y se repitio todo eso… jajajajaj disculpen…
uhmmm… Pero lo haces bien dejame decirte jejeje… aceptas que te fastidie… ??? de ves en cuando y de cuando en ves…. jajajajajaja
Ya borré el post duplicado
Eres bueno… Y como que no se te puede fastidiar mucho jejeje por que no dijistes nadita…
No, no, es que ando algo ocupado, mañana empiezo clases, y estoy imprimiendo horarios y organizando agendas… Mándame un email, si tienes alguna duda, ya te contestaré
cual es el significado del pendulo?
perdon del moviemiento pendular?
Un péndulo, es quizás la representación mas sencilla de un Movimiento Armónico Simple (MAS)( Siempre que se considere que sin (a) ~ a)
Ah!!! disculpen jejeje buenas tardes como estan todos por aqui..??? que tal Bleend? como van esas clases?
Vamos tirando… mecánica es difícil U_U
Jejejeje…. Bueno ya veras que cuando le agarres la caida sera mucho mas facil
hola como estan todos
Muchísimas gracias por el código, me ha sido muy útil.
Espero que no te importe. He tocado un poco tu código.
Le he puesto un poco de rozamiento para que se vaya parando poco a poco y lo he pasado a una clase de programación. También ahora no hay que pulsar al ratón, con simplemente posicionarte sobre el péndulo basta.
He dejado todo el código y el ejemplo aquí
[...] nuevo ejemplo de qué se puede hacer con flash y las matemáticas. ¿Por qué no me dieron una asignatura así? Teníamos una cosa parecida y era horrible por la [...]
Me parece fantástico, para eso está.
Igual debería mejorarlo un poco, ese drag no es muy correcto…
hola. soy nueva, y recien me inicio en el flash, logro hacer el pendulo sencillo (no se si correcto pero valla que se mueve bien xDD) alguien me podria explicar que se hace con estos codigos y para un pendulo como se hace “variable su amplitud de movimiento mediante un drag”…
gracias
@maca: Pues esa frase significa que el péndulo “se abrirá” mas, que “irá mas lejos” en su movimiento si lo arrastramos mas lejos.
Los códigos los escribimos nosotros, este código, determina una serie de comportamientos de ese “Movie clip”, y le da un movimiento como de un péndulo.
Una propiedad de los péndulos, es que aunque tengan una amplitud mayos, la frecuencia de oscilación se mantiene.