Sie sind auf Seite 1von 4

Cómo crear un péndulo realista en ActionScript 3 - Taringa!

Buscar más sobre... Web - Posts - Comunidades

flash, pêndulo Submit

Posts Comunidades TOPs Capsula Registrate! Identificarme

Inicio Novatos Buscador Filtrar por Categorías: Seleccionar


Seleccionar categoría
categoría

Convidamos você a navegar a comunidade do Taringa! Versão em Português. Faça clique aqui

Posteado por: Cómo crear un péndulo realista en ActionScript 3

Avisos por Yahoo!

Recetas de Sopas Knorr


Te invitamos a revisar recetas, tips y formas de preparar tus Sopas
cadacomida.com
Nuevo Dove Men Care
¿Potencia no combina con cuidado? Disfruta la vida con Dove Men Care.
ecalvetty
New Full User www.dovemen.com
Alquiler de Coches en Texas
Autos desde U$214 por 7 días, incluye seguros, KM libre, Aire y tasas.
Seguir Usuario www.happytoursusa.com

45
SEGUIDORES
En este tip vamos crear un objeto que oscile como un péndulo de manera realista utilizando ecuaciones físicamente
2198 coherentes en ActionScript 3. Aunque la explicación de esas ecuaciones no viene al caso, diré que están basadas en una
PUNTOS
aproximación y que no son ni mucho menos exactas, ya que requerirían conocimientos avanzados de cálculo diferencial para
990 poder obtenerlas. No obstante, la aproximación es bastante buena y no se pierde un ápice de realismo.
POSTS

825 Para comenzar, vamos a crear un documento nuevo de AS3 y vamos a dibujar nuestro péndulo en posición vertical, es decir,
COMENTARIOS
con el origen de coordenadas arriba en el centro. Ponemos la velocidad de fotogramas a 30, aunque en realidad puedes
escoger el valor que más te convenga. Después de ajustar el punto de registro en el lugar donde queremos que esté el punto
de rotación, le damos el nombre de instancia pendulo y escribimos este código en el único fotograma de la línea de tiempo:

Código:
import flash.events.Event.ENTER_FRAME;

addEventListener(Event.ENTER_FRAME, onEnterFrame);

with ( pendulo )
{
const g:Number = 9.8 * 300; // g = 9,8 m/s*s * 300 px/m
var t:Number = 0; // t = 0s
var l:Number = pendulo.height; // l = altura px
var phi = pendulo.rotation * Math.PI / 180; // phi = 0 rad
var omega = 0; // omega = 0 rad/s
}

function onEnterFrame(e:Event):void
{
with(pendulo)
{
t = 1 / 30; // t = 1 / 30 s porque 30 es la velocidad de fotogramas por segundo
phi = rotation * Math.PI / 180;
omega += ((-g * t) / l) * Math.sin(phi);
phi += omega * t;
rotation = phi * 180 / Math.PI;
}
}

Y ya está. Ya he dicho que en principio no explicaré las ecuaciones; si alguien tiene curiosidad puede preguntar en los
comentarios. Ahora si giramos levemente nuestro péndulo y probamos nuestra película:

http://new.taringa.net/posts/ebooks-tutoriales/2044298/Como-crear-un-pendulo-realista-en-ActionScript-3.html[20/10/2010 18:40:16]
Cómo crear un péndulo realista en ActionScript 3 - Taringa!

link: http://www.cristalab.com/images/tips/flash/pendulo/pendulo01.swf#####

Pero claro, esto va a estar moviéndose hasta el día del juicio final por la tarde. Ahora podemos añadir un comportamiento que
"empuje" el péndulo al hacer click, y rozamiento con el aire (que es proporcional al cuadrado de la velocidad):

Código
import flash.events.Event.ENTER_FRAME;
import flash.events.MouseEvent.CLICK;

addEventListener(Event.ENTER_FRAME, onEnterFrame);
stage.addEventListener(MouseEvent.CLICK, onClick);

with ( pendulo )
{
const g:Number = 9.8 * 300; // g = 9,8 m/s*s * 300 px/m
var t:Number = 0; // t = 0s
var l:Number = pendulo.height; // l = altura px
var phi = pendulo.rotation * Math.PI / 180; // phi = 0 rad
var omega = 0; // omega = 0 rad/s

var signo:int;
var drag:Number;
}

function onClick(e:MouseEvent):void
{
with(pendulo)
{
omega -= Math.PI * 1.5;
}
}

function onEnterFrame(e:Event):void
{
with(pendulo)
{
t = 1 / 30; // t = 1 / 30 s porque 30 es la velocidad de fotogramas por segundo
signo = (omega < 0) ? -1 : 1;
drag = omega * omega / 300;
phi = rotation * Math.PI / 180;

http://new.taringa.net/posts/ebooks-tutoriales/2044298/Como-crear-un-pendulo-realista-en-ActionScript-3.html[20/10/2010 18:40:16]
Cómo crear un péndulo realista en ActionScript 3 - Taringa!

omega += ((-g * t) / l) * Math.sin(phi) - signo * drag;


phi += omega * t;
rotation = phi * 180 / Math.PI;
}
}

Y ahora sí, si publicamos la película (dale click al péndulo):

link: http://www.cristalab.com/images/tips/flash/pendulo/pendulo02.swf#####

Fuente

Compartir en: Me gusta

Seguir Post Agregar a Favoritos Denunciar 0 0 1.214 2


SEGUIDORES PUNTOS VISITAS FAVORITOS

Tags: Categoría: E-books y Tutoriales


script - tip - flash - tutorial flash
Creado: 22.01.2009 a las 0:16 hs.

Otros posts que te van a interesar:


Video tutorial FLASH
Animación en Flash - Tutorial
PDF: Tutorial Macromedia Flash 8
Exelente tutorial de Flash
Como hacer un reloj en flash
Tutorial de Flash: 00 Presentación
Script Pagina de Juegos Flash
Minijuego con script go to en flash
Macromedia Flash 8 full [Esp][Keygen][Tutorial]

http://new.taringa.net/posts/ebooks-tutoriales/2044298/Como-crear-un-pendulo-realista-en-ActionScript-3.html[20/10/2010 18:40:16]
Cómo crear un péndulo realista en ActionScript 3 - Taringa!

3 Comentarios

tucumano88 dijo Más de 1 año:

Diazgl dijo Más de 1 año:

Kiuuby14 dijo Más de 1 año:

Perdona mi ignorancia

Para poder comentar necesitas estar Registrado. O.. ya tenes usuario? Logueate!

Ir al cielo

Anuncie en T! - API - Ayuda - Chat - Contacto - Denuncias - Enlazanos - Mapa del sitio - Protocolo - Trabaja en Taringa! - T! em Português
Términos y condiciones - Privacidad de datos

http://new.taringa.net/posts/ebooks-tutoriales/2044298/Como-crear-un-pendulo-realista-en-ActionScript-3.html[20/10/2010 18:40:16]

Das könnte Ihnen auch gefallen