lunes, 1 de abril de 2013

Box2D motor físico de código abierto


Box2D motor físico de código abierto

La física añade realismo a nuestro proyecto de creación de juegos creados con AS3 y ahora estoy probando este motor físico que es de código abierto y es usado por muchos desarrolladores para crear juegos de manera rápida.

Hola mundo Box2D

Box2d es una opción de código abierto disponible para crear juegos que manejan física en sus movimientos; casi todos los juegos que necesitan cierto toque de realismo necesitan de un motor físico para crear movimientos que simulen un comportamiento real. Box2D es una de las mejores librerías de simulación disponibles, dirigidas al manejo de “cuerpos rígidos”; antes de explicar el manejo de Box2D tenemos que comprender que son estos “cuerpos rígidos”; podemos explicarlos como un pedazo de materia que es tan fuerte que no puede dividirse ni doblarse ni modificar su forma, un material similar en la vida real seria la dureza de un diamante u otro material tan duro que se pueda imaginar, dentro del mundo Box2D se conoce a estos materiales con el nombre de “cuerpos”, bueno solo sería un tipo especial de cuerpo ya q dentro del mundo Box2D existe muchos variantes de estos cuerpos con distintas cualidades.

Descargamos e instalamos Box2D

Descargamos la última versión de Box2D de su sitio oficial, http://www.box2dflash.org/download o de la pagina del proyecto SourceForge http://sourceforge.net/projects/box2dflash/ . Descargamos el archivo zip y extraemos el folder que contiene el código fuente que usaremos, como siempre la organización del proyecto es muy variada dependiendo del IDE que estemos usando; usando Flash Develop se crea una estructura de carpetas que es útil para organizarnos. Pero, si se va a usar Flash Professional se debe crear una estructura de proyecto dentro de una carpeta que contendrá la carpeta extraída del archivo zip descargado que también contendrá un archivo .fla que será el que contiene la llamada a el código y para más adelante el diseño de nuestro juegos o proyecto de simulación, además también esta carpeta contiene el archivo .as que contiene el código principal que usa la librería Box2D. Configuramos nuestro archivo .fla y le daremos el nombre del proyecto “PruebaHolaMundo”, que será de tamaño 400x400 px. Color de fondo oscuro (#333333), nuestro proyecto correrá a 30 fps. Y dentro del las propiedades hacemos la llamada a nuestro código llamado Main.as

Al ser Box2D de código abierto no se necesita incluir archivos .swc a nuestro proyecto, como componentes independientes de uso, todo lo que se necesita hacer es incluir las clases necesarias dentro de nuestra carpeta de proyecto. Dentro de nuestro archivo Main.as, haremos la llamada a las librerías necesarias con el siguiente código:
 
 Package {
import flash.display,Sprite;
import Box2D.Dynamics.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
Public class Main extends Sprite{
 public function Main(){
  trace(“Felicidades la llamada a las librerías Box2D funciona correctamente…”);
 }
}

Ahora probamos la película (ctrl + ENTER); y veremos en la pantalla de output el mensaje que escribimos, por el momento no tenemos gran cosa; solo una llamada a un mensaje; sin embargo lo que hacemos primero siempre es introducirnos dentro de los conceptos que Box2D maneja para el tratamiento de objetos dentro de su “Mundo”. En el mundo donde la simulación ocurre, todos los objetos están guiados por leyes físicas y estas funciones físicas están limitadas por el poder del procesador del computador, así que debemos de tomar en cuenta estos detalles para hacer un juego funcional.