Aprendiendo Box2dWeb - 1era parte

En este post, comento sobre una librería que me llama mucho la atención que se llama Box2D, ahora comento unos detalles de esta chevere librería:

1. Empieza a ser desarrollado en c++ por Erin Catto, desde ya buen tiempo.
2. Es tan bacan que varios desarrolladores han traducido a otros lenguajes de programación.
3. En el caso de JavaScript se han desarrollado 2 librerías muy conocidas nos referimos a Box2dWeb y Box2DJS

 - "Su nombre está chevere, pero,¿a qué se dedica?" - Pues Box2d es una librería que te trae funcionalidades de comportamiento físico a un entorno, eso quiere decir que si yo creo un entorno físico adoptaría funcionalidades de la física real, sea manejar fricción, o la gravedad, o también considerando las colisiones y tooooodo lo que tiene que ver con el comportamiento físico, te ahorra mucho en desarrollar funciones complejas para calcular y/o renderizar objetos con comportamientos físicos :)

En este caso usaremos Box2dWeb para aplicarlo en canvas, ojo que también los comportamientos se pueden asociar a etiquetas como son los divs, pero empezemos conociendo lo básico.


En esta demo explico parte por parte:

1. Como verán se crea una función init, en este caso se está usando un patron llamado singleton ( que todo el código va en sábana), y defino algunas variables para referir objetos básicos de la misma librería para no repertir todo el seguimiento cada vez que lo necesite asociar, veamos:

Considera que el signo de "?" es como la ayudita para saber por qué lo vamos a referenciar y usar :)

//variables globales
var b2Vec2 = Box2D.Common.Math.b2Vec2; ?
var b2AABB = Box2D.Collision.b2AABB; ? 
var b2BodyDef = Box2D.Dynamics.b2BodyDef; ?
var b2Body = Box2D.Dynamics.b2Body; ? 
var b2fixtureDef = Box2D.Dynamics.b2FixtureDef; ? 
var b2fixture = Box2D.Dynamics.b2Fixture; ? 
var b2World = Box2D.Dynamics.b2World; ? 
var b2PolygonShape = Box2D.Collision.Shapes.b2PolygonShape; ?  
var b2CircleShape = Box2D.Collision.Shapes.b2CircleShape; ? 
var b2DebugDraw = Box2D.Dynamics.DebugDraw; ? 
var b2MouseJointDef = Box2d.Dynamics.Joints.b2MouseJointDef; ? 

En el siguiente capítulo conocerémos del cómo trabajan estos objetos :D

Comentarios

Entradas populares de este blog

Como Instalar, Actualizar y desinstalar Vim bajo linux/Ubuntu

Como Instalar o Actualizar Blender bajo linux/Ubuntu