sábado, 5 de noviembre de 2011

Suavizando el movimiento de objetos con AS3


Con este pequeño código se explica el uso de la función seno, aplicada al movimiento de objetos de arriba a abajo de manera suavizada, la suavidad del movimiento se refiere a hacer que este movimiento sea más real,  esta clase hace uso de otra, llamada Ball.as (bola) que crea una instancia bola que se usa en el escenario a la que se aplica el movimiento de balanceo de arriba a abajo.
//modificaciones de la clase Smooth and Down Motion
package{
 import flash.display.Sprite;
 import flash.events.Event;

 public class Bobbing2 extends Sprite{
  private var ball:Ball;
  //aqui empieza la modificaciones
  private var angle:Number= 0;
  private var centerY:Number=150;
  private var range:Number= 100;
  private var speed:Number= .1;
  
  public function Bobbing2(){
   init();
  }
  private function init():void{
   ball = new Ball();
   addChild(ball);
   ball.x=stage.stageWidth/2;
   addEventListener(Event.ENTER_FRAME, onEnterFrame);
  }
  public function onEnterFrame(event:Event):void{
   ball.y=centerY+Math.sin(angle)*range;
   angle+=speed;
  }
 }
}
Como podemos ver en este sencillo código, además del objeto ball, se crea 3 variables que son el ángulo, al que le aplicamos la función seno, la ubicación de la instancia ball en el escenario esta respecto al eje Y en el punto centerY que tiene la mistad de nuestro escenario justamente (si nuestro escenario es de 300px entonces el centro de este será de 150 px), nuestro punto de referencia constante es el eje x por lo que no varía sin embargo el eje y si varia por lo que le aplicamos la formula:
ball.y=centerY+Math.sin(angle)*range;
Que da el efecto de movimiento sobre el eje y, aplicado justo al centro de nuestro escenario más el seno del ángulo; que esta multiplicado por el rango de movimiento que está definido en 100,en la siguiente línea de código:
angle+=speed;
A este Angulo se le hace un incremento respecto a la velocidad, con la que actúa el objeto ball. Luego de compilar nuestro código podemos ver en el escenario lo siguiente:

Related Posts:

  • Movimiento circular y elíptico con AS3 Se puede utilizar las funciones seno y coseno en situaciones en las que se necesite un movimiento oscilante, pero de manera coordinada se puede utilizar las dos funciones juntas, como veremos en las siguientes líneas de … Read More
  • Suavizando el movimiento de objetos con AS3 Con este pequeño código se explica el uso de la función seno, aplicada al movimiento de objetos de arriba a abajo de manera suavizada, la suavidad del movimiento se refiere a hacer que este movimiento sea más real, … Read More
  • Aplicación de la trigonometría en Flash con AS3 Me parecía demasiado complicado el hecho de tener que aprender funciones trigonométricas (más bien recordar…), para ser aplicadas al desarrollo de interactividad, animación, etc. en flash; Como todo lenguaje de programa… Read More
  • Sistema de coordenadas en flash función seno y coseno “Estoy entrando en un mundo completamente diferente al que conocí…o solamente me parece que estoy en el cuadrante equivocado”. El sistema de coordenadas en flash es así: Se basa en el sistema de coordenadas … Read More
  • Calculo de la distancia entre dos puntos “Para calcular la distancia entre dos puntos usa una regla…” Una de las formulas que se usa mucho es la del teorema de Pitágoras: A^2 + B^2 = C^2  “En todo triángulo rectángulo el cuadrado de la hipotenusa es i… Read More