Refine search
private void initAxis() { BodyDef axisDef = new BodyDef(); axisDef.type = BodyType.STATIC; axisDef.position = new Vec2(3, 3); axis = world.createBody(axisDef); CircleShape axisShape = new CircleShape(); axisShape.setRadius(0.02f); axisShape.m_p.set(0, 0); FixtureDef axisFixture = new FixtureDef(); axisFixture.shape = axisShape; axis.createFixture(axisFixture); }
@Override public float getRadius () { return shape.getRadius(); }
@Override public void initTest(boolean argDeserialized) { BodyDef bd = new BodyDef(); bd.position.set(0.0f, 0.0f); Body body = getWorld().createBody(bd); shape.set(new Vec2(-10.0f, 0.0f), new Vec2(10.0f, 0.0f)); body.createFixture(shape, 0.0f); PolygonShape pshape = new PolygonShape(); pshape.setAsBox(0.2f, 1.0f, new Vec2(0.5f, 1.0f), 0.0f); body.createFixture(pshape, 0.0f); m_poly = new PolygonShape(); m_poly.setAsBox(2.0f, 0.1f); m_circle = new CircleShape(); m_circle.m_p.setZero(); m_circle.m_radius = 0.5f; BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position.set(0.0f, 20.0f); m_body = getWorld().createBody(bd); currFixture = m_body.createFixture(m_poly, 1.0f);
private void launchBomb(Vec2 position, Vec2 velocity) { if (bomb != null) { m_world.destroyBody(bomb); bomb = null; } // todo optimize this BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position.set(position); bd.bullet = true; bomb = m_world.createBody(bd); bomb.setLinearVelocity(velocity); CircleShape circle = new CircleShape(); circle.m_radius = 0.3f; FixtureDef fd = new FixtureDef(); fd.shape = circle; fd.density = 20f; fd.restitution = 0; Vec2 minV = new Vec2(position); Vec2 maxV = new Vec2(position); minV.subLocal(new Vec2(.3f, .3f)); maxV.addLocal(new Vec2(.3f, .3f)); aabb.lowerBound.set(minV); aabb.upperBound.set(maxV); bomb.createFixture(fd); }
BodyDef bd = new BodyDef(); Body ground = getWorld().createBody(bd); shape.set(new Vec2(-50.0f, 0.0f), new Vec2(50.0f, 0.0f)); ground.createFixture(shape, 0.0f); shape.set(new Vec2(-50.0f, 0.0f), new Vec2(-50.0f, 10.0f)); ground.createFixture(shape, 0.0f); shape.set(new Vec2(50.0f, 0.0f), new Vec2(50.0f, 10.0f)); ground.createFixture(shape, 0.0f); CircleShape shape = new CircleShape(); shape.m_radius = 0.25f; BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position.set(-40.0f + 2.0f * i, 0.5f); Body body = getWorld().createBody(bd); body.createFixture(shape, 1.0f); PolygonShape shape = new PolygonShape(); shape.setAsBox(2.5f, 1.0f); CircleShape shape = new CircleShape(); shape.m_radius = 1.6f;
@Override public void initTest(boolean deserialized) { BodyDef bd = new BodyDef(); Body ground = m_world.createBody(bd); PolygonShape shape = new PolygonShape(); Vec2[] vertices = new Vec2[] {new Vec2(-40, -10), new Vec2(40, -10), new Vec2(40, 0), new Vec2(-40, 0)}; shape.set(vertices, 4); ground.createFixture(shape, 0.0f); PolygonShape shape = new PolygonShape(); ground.createFixture(shape, 0.0f); ground.createFixture(shape, 0.0f); m_world.setParticleRadius(0.2f); pd.flags = pd.flags; pd.shape = shape; m_world.createParticleGroup(pd); BodyDef bd = new BodyDef(); CircleShape shape = new CircleShape(); BodyDef bd = new BodyDef();
CircleShape circleShape = new CircleShape(); circleShape.m_radius = 1; Shape shape = circleShape; BodyDef bodyDef = new BodyDef(); bodyDef.type = BodyType.DYNAMIC; bodyDef.position.set(-5, 0); bodyDef.allowSleep = false; pendulum = getWorld().createBody(bodyDef); pendulum.createFixture(shape, 1); BodyDef bodyDef = new BodyDef(); bodyDef.type = BodyType.STATIC; ground = getWorld().createBody(bodyDef); jointDef.initialize(pendulum, ground, new Vec2(0, 0)); else jointDef.initialize(ground, pendulum, new Vec2(0, 0)); pendulum.applyAngularImpulse(10000); getWorld().createJoint(jointDef);
BodyDef bd = new BodyDef(); Body ground = getWorld().createBody(bd); shape.set(new Vec2(-10.0f, 0.0f), new Vec2(10.0f, 0.0f)); ground.createFixture(shape, 0.0f); shape.set(new Vec2(-10.0f, 0.0f), new Vec2(-10.0f, 20.0f)); ground.createFixture(shape, 0.0f); shape.set(new Vec2(10.0f, 0.0f), new Vec2(10.0f, 20.0f)); ground.createFixture(shape, 0.0f); CircleShape shape = new CircleShape(); shape.m_p.setZero(); shape.m_radius = radius; BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position.set(-10.0f + (2.1f * j + 1.0f + 0.01f * i) * radius, (2.0f * i + 1.0f) * radius); Body body = getWorld().createBody(bd); body.createFixture(fd); getWorld().setGravity(new Vec2(0.0f, 0.0f));
private void checkBounds() { for (int i=0; i<liquid.length; ++i) { if (liquid[i].getWorldCenter().y < -10.0f) { getWorld().destroyBody(liquid[i]); float massPerParticle = totalMass / nParticles; CircleShape pd = new CircleShape(); FixtureDef fd = new FixtureDef(); fd.shape = pd; if (bod.getWorldCenter().y < -15.0f) { getWorld().destroyBody(bod); PolygonShape polyDef = new PolygonShape(); polyDef.setAsBox(MathUtils.randomFloat(0.3f,0.7f), MathUtils.randomFloat(0.3f,0.7f)); BodyDef bodyDef = new BodyDef(); bodyDef.position = new Vec2(0.0f,25.0f); bodyDef.type = BodyType.DYNAMIC; bod = getWorld().createBody(bodyDef);
PolygonShape shape = new PolygonShape(); Vec2[] vertices = new Vec2[] {new Vec2(-40, -10), new Vec2(40, -10), new Vec2(40, 0), new Vec2(-40, 0)}; shape.set(vertices, 4); getGroundBody().createFixture(shape, 0.0f); Vec2[] vertices = {new Vec2(20, -1), new Vec2(40, -1), new Vec2(40, 30), new Vec2(20, 20)}; shape.set(vertices, 4); getGroundBody().createFixture(shape, 0.0f); m_world.setParticleRadius(0.35f); m_world.setParticleDamping(0.2f); CircleShape shape = new CircleShape(); shape.m_p.set(0, 30); shape.m_radius = 20; pd.flags = ParticleType.b2_waterParticle; pd.shape = shape; m_world.createParticleGroup(pd); BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; Body body = m_world.createBody(bd); CircleShape shape = new CircleShape(); shape.m_p.set(0, 80); shape.m_radius = 5;
public void createCircle() { float radius = 2.0f; CircleShape shape = new CircleShape(); shape.m_p.setZero(); shape.m_radius = radius; FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 1.0f; fd.friction = 0.0f; Vec2 p = new Vec2((float)Math.random(), 3.0f + (float)Math.random()); BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position = p; //bd.allowSleep = false; Body body = getWorld().createBody(bd); body.createFixture(fd); }
BodyDef bodyDef = new BodyDef(); Body body = world.createBody(bodyDef); CircleShape circle = new CircleShape(); circle.setRadius(dimensions.x); fixtureDef.shape = circle; fixture = body.createFixture(fixtureDef); circle.dispose(); }else{ PolygonShape rectangle = new PolygonShape(); rectangle.setAsBox(dimensions.x, dimensions.y); fixtureDef.shape = rectangle; fixture = body.createFixture(fixtureDef); rectangle.dispose(); world.getBodies(bodies); int destroyCount = 0; System.out.println("Attempting to destroy " + world.getBodyCount()+ " bodies"); for(Body b : bodies){ world.destroyBody(b);
Body b = contact.getFixtureB().getBody(); if (a.getUserData() == BodyData.BIRD && b.getUserData() == BodyData.ROCKET) if (b.getUserData() == BodyData.BIRD && a.getUserData() == BodyData.ROCKET) BodyDef bodyDefBird = new BodyDef(); bodyDefBird.position.set(0, 0.1f); bodyDefBird.type = BodyDef.BodyType.DynamicBody; BodyDef bodyDefRocket1 = new BodyDef(); bodyDefRocket1.position.set(0, 0.5f); bodyDefRocket1.type = BodyDef.BodyType.DynamicBody; BodyDef bodyDefRocket2 = new BodyDef(); bodyDefRocket2.position.set(0.1f, 0.8f); bodyDefRocket2.type = BodyDef.BodyType.DynamicBody; circleFixture.shape = new CircleShape(); ((CircleShape) circleFixture.shape).setRadius(0.02f); ((EdgeShape) lineFixture.shape).set(Vector2.Zero, new Vector2(200, 0)); Body floor = world.createBody(bodyDefFloor); floor.createFixture(lineFixture);
debugDraw.setFlags(flags); m_world.setAllowSleep(settings.getSetting(TestbedSettings.AllowSleep).enabled); m_world.setWarmStarting(settings.getSetting(TestbedSettings.WarmStarting).enabled); m_world.setSubStepping(settings.getSetting(TestbedSettings.SubStepping).enabled); m_world.setContinuousPhysics(settings.getSetting(TestbedSettings.ContinuousCollision).enabled); m_textLine += TEXT_LINE_SPACE; debugDraw.drawString(5, m_textLine, "World mouse position: " + mouseWorld.toString(), Color3f.WHITE); m_textLine += TEXT_LINE_SPACE; mouseTracerPosition.x += timeStep * mouseTracerVelocity.x; mouseTracerPosition.y += timeStep * mouseTracerVelocity.y; pshape.m_p.set(mouseTracerPosition); pshape.m_radius = 2; pcallback.init(m_world, pshape, mouseTracerVelocity); pshape.computeAABB(paabb, identity, 0); m_world.queryAABB(pcallback, paabb); p1.set(point.position); p2.set(point.normal).mulLocal(axisScale).addLocal(p1); debugDraw.drawSegment(p1, p2, color3);
BodyDef ropeStartDef = new BodyDef(); int EACH_RING_DISTANCE = 10 ropeStartDef.type = BodyType.StaticBody; ropeStartDef.position.set(m_camera.viewportWidth/2,m_camera.viewportHeight ); Body ropStartBody = m_world.createBody(ropeStartDef); PolygonShape ropeStartShape = new PolygonShape(); ropeStartShape.setAsBox(5, 5); ropStartBody.createFixture(ropeStartShape, 0); ropeStartShape.dispose(); for(int i=0; i<5; i++) BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.angle = angle-MathUtils.PI/2; FixtureDef eachRingFD; eachRingFD = new FixtureDef(); CircleShape chainCircleshape =new CircleShape(); chainCircleshape.setRadius(4); eachRingFD.density = 2; eachRingFD.shape =chainCircleshape; body.createFixture(eachRingFD);
BodyDef bd = new BodyDef(); bd.type = BodyType.StaticBody; Body body = world.createBody(bd); body.createFixture(shape, 1); PolygonShape polygon = new PolygonShape(); Vector2 size = new Vector2((rectangle.x + rectangle.width * 0.5f) / ppt, (rectangle.y + rectangle.height * 0.5f ) / ppt); CircleShape circleShape = new CircleShape(); circleShape.setRadius(circle.radius / ppt); circleShape.setPosition(new Vector2(circle.x / ppt, circle.y / ppt)); return circleShape; PolygonShape polygon = new PolygonShape(); float[] vertices = polygonObject.getPolygon().getTransformedVertices();
private void initBalls() { float ballRadius = 0.15f; BodyDef ballDef = new BodyDef(); ballDef.type = BodyType.DYNAMIC; FixtureDef fixtureDef = new FixtureDef(); fixtureDef.restitution = 0.3f; fixtureDef.density = 0.2f; CircleShape shape = new CircleShape(); shape.m_radius = ballRadius; fixtureDef.shape = shape; ballDef.position.x = 3 + x; ballDef.position.y = 3 + y; Body body = world.createBody(ballDef); body.createFixture(fixtureDef); body = world.createBody(ballDef); body.createFixture(fixtureDef); body = world.createBody(ballDef); body.createFixture(fixtureDef);
context.scale(100, 100); context.setLineWidth(0.01); for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) { Vec2 center = body.getPosition(); context.save(); context.translate(center.x, center.y); context.rotate(body.getAngle()); for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) { Shape shape = fixture.getShape(); CircleShape circle = (CircleShape) shape; context.beginPath(); context.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true); context.closePath(); context.stroke(); } else if (shape.getType() == ShapeType.POLYGON) { PolygonShape poly = (PolygonShape) shape; Vec2[] vertices = poly.getVertices(); context.beginPath(); context.moveTo(vertices[0].x, vertices[0].y); for (int i = 1; i < poly.getVertexCount(); ++i) { context.lineTo(vertices[i].x, vertices[i].y);
@Override public void keyPressed(char key, int argKeyCode) { switch (key) { case 'c': if (m_fixture2 == null) { CircleShape shape = new CircleShape(); shape.m_radius = 3.0f; shape.m_p.set(0.5f, -4.0f); m_fixture2 = m_body.createFixture(shape, 10.0f); m_body.setAwake(true); } break; case 'd': if (m_fixture2 != null) { m_body.destroyFixture(m_fixture2); m_fixture2 = null; m_body.setAwake(true); } break; } }
public void defineCollector(float x) { BodyDef bdef=new BodyDef(); bdef.position.set(x/Fruits.PPM,-20/Fruits.PPM); bdef.type=BodyDef.BodyType.DynamicBody; b2body=world.createBody(bdef); FixtureDef fdef=new FixtureDef(); CircleShape shape=new CircleShape(); shape.setRadius(15/Fruits.PPM); fdef.shape=shape; b2body.createFixture(fdef); b2body.setActive(false); }