box2dweb-closure icon indicating copy to clipboard operation
box2dweb-closure copied to clipboard

Modified version of http://code.google.com/p/box2dweb/ optimized for use with Google Closure

Original Box2D created by Erin Catto http://www.gphysics.com http://box2d.org/

Box2D was converted to Flash by Boris the Brave, Matt Bush, and John Nesky as Box2DFlash http://www.box2dflash.org/

Box2DFlash was converted from Flash to Javascript by Uli Hecht as box2Dweb http://code.google.com/p/box2dweb/

box2Dweb was modified to utilize Google Closure, as well as other bug fixes, optimizations, and tweaks by Illandril https://github.com/illandril/box2dweb-closure

Requires Google Closure: http://code.google.com/closure/

Important changes from Box2DWeb:

  • all userData references have been removed
  • b2Body types are now in b2BodyDef
  • b2Shape types are now in each specific Shape
  • most integer parameters now assume non-null, non-undefined values (like the b2Vec2 and b2Vec3 constructors)
  • b2BodyList and b2FixtureList have been added, instead of each object acting as a node in a linked list
  • b2ContollerEdge has been replaced by b2ControllerList and b2BodyList

Anticipated future changes:

  • b2JointList (similar to b2BodyList and b2FixtureList)
  • b2ContactList (similar to replacement of b2ControllerEdge... maybe)
  • b2ContactID/Features consolidation
  • (maybe) renaming of some variables (mostly removing the m_ prefixes, but some changes to make them more clear on what they are for)
  • fixing visibility of most variables (by annotation and convention only - not by anything that would actually make them private as far as javascript is concerned)
  • moving constant values from b2Settings (and maybe other areas) to Box2D.Consts

If you are interested in a version that is Gjslint compliant, and with all warnings fixed (sometimes by making things public that are supposed to be private or protected), firecow has made a fork: https://github.com/firecow/box2dweb-closure

Notice anything else that doesn't work (especially if it did work using box2dweb)? E-mail [email protected]