Setting up object properties
Physical objects in the Box2D simulation environment contain many customizable properties. You can use this to adapt object behavior to suit your needs.
Getting ready
First of all, you'll need an object to set properties on. For all properties to be effective, you can use a dynamic object:
local body_def = box2d.BodyDef() body_def.type = 'dynamic' body_def.position = Vec(0,0) body_def.angle = 0 local body = world.createBody(body_def) local shape = box2d.CircleShape() shape.radius = 1 local fixture_def = box2d.FixtureDef() fixture_def.shape = box_shape fixture_def.density = 1 local fixture = body.createFixture(fixture_def)
Now that you've got everything prepared, you can set up physical object properties. Keep in mind that you should never change object properties during a simulation cycle as it will lead to simulation errors. You can determine this situation by querying the World
object world.locked
. The world object is locked when you're in the middle of the...