@Override public void create() { { PolygonDef sd = new PolygonDef(); sd.setAsBox(50.0f, 10.0f); BodyDef bd = new BodyDef(); bd.position = new Vec2(0.0f, -10.0f); m_world.createStaticBody(bd).createShape(sd); } { PolygonDef sd = new PolygonDef(); float w = 4.0f; float h = 0.25f; sd.setAsBox(w, h); sd.density = 1.0f; sd.friction = 0.3f; sd.restitution = 0.0f; BodyDef bd = new BodyDef(); int numSlats = 8; float lastCMX = 0.0f; float eps = 0.14f; for (int i = 0; i < numSlats; ++i) { float newX = lastCMX + w - eps; lastCMX = (i * lastCMX + newX) / (i + 1); bd.position = new Vec2(newX, .25f + 2 * h * (numSlats - i - 1)); Body myBody = m_world.createDynamicBody(bd); myBody.createShape(sd); myBody.setMassFromShapes(); } } }