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:
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
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 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
Publicar un comentario