List of usage examples for com.badlogic.gdx.physics.box2d EdgeShape setRadius
@Override
public void setRadius(float radius)
From source file:com.badlogic.gdx.tests.box2d.Bridge.java
License:Apache License
@Override protected void createWorld(World world) { Body ground;//from w w w . ja v a2 s . com { BodyDef bd = new BodyDef(); ground = world.createBody(bd); EdgeShape shape = new EdgeShape(); shape.set(new Vector2(-40, 0), new Vector2(40.0f, 0)); ground.createFixture(shape, 0); shape.dispose(); } { PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.125f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 20.0f; fd.friction = 0.2f; RevoluteJointDef jd = new RevoluteJointDef(); Body prevBody = ground; for (int i = 0; i < e_count; i++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-14.5f + 1.0f * i, 5.0f); Body body = world.createBody(bd); body.createFixture(fd); Vector2 anchor = new Vector2(-15.0f + 1.0f * i, 5.0f); jd.initialize(prevBody, body, anchor); world.createJoint(jd); prevBody = body; } Vector2 anchor = new Vector2(-15.0f + 1.0f * e_count, 5.0f); jd.initialize(prevBody, ground, anchor); world.createJoint(jd); shape.dispose(); } for (int i = 0; i < 2; i++) { Vector2[] vertices = new Vector2[3]; vertices[0] = new Vector2(-0.5f, 0); vertices[1] = new Vector2(0.5f, 0); vertices[2] = new Vector2(0, 1.5f); PolygonShape shape = new PolygonShape(); shape.set(vertices); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 1.0f; BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-8.0f + 8.0f * i, 12.0f); Body body = world.createBody(bd); body.createFixture(fd); shape.dispose(); } for (int i = 0; i < 3; i++) { CircleShape shape = new CircleShape(); shape.setRadius(0.5f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 1.0f; BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-6.0f + 6.0f * i, 10.0f); Body body = world.createBody(bd); body.createFixture(fd); shape.dispose(); } }
From source file:com.badlogic.gdx.tests.box2d.Cantilever.java
License:Apache License
@Override protected void createWorld(World world) { Body ground;/*from w ww . jav a 2 s . c om*/ { BodyDef bd = new BodyDef(); ground = world.createBody(bd); EdgeShape shape = new EdgeShape(); shape.set(new Vector2(-40, 0), new Vector2(40, 0)); ground.createFixture(shape, 0); shape.dispose(); } { PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.125f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 20.0f; WeldJointDef jd = new WeldJointDef(); Body prevBody = ground; for (int i = 0; i < e_count; i++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-14.5f + 1.0f * i, 5.0f); Body body = world.createBody(bd); body.createFixture(fd); Vector2 anchor = new Vector2(-15.0f + 1 * i, 5.0f); jd.initialize(prevBody, body, anchor); world.createJoint(jd); prevBody = body; } shape.dispose(); } { PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.125f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 20.0f; WeldJointDef jd = new WeldJointDef(); Body prevBody = ground; for (int i = 0; i < e_count; i++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-14.5f + 1.0f * i, 15.0f); bd.gravityScale = 10.0f; Body body = world.createBody(bd); body.createFixture(fd); Vector2 anchor = new Vector2(-15.0f + 1.0f * i, 15.0f); jd.initialize(prevBody, body, anchor); world.createJoint(jd); prevBody = body; } shape.dispose(); } { PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.125f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 20.0f; WeldJointDef jd = new WeldJointDef(); Body prevBody = ground; for (int i = 0; i < e_count; i++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-4.5f + 1.0f * i, 5.0f); Body body = world.createBody(bd); body.createFixture(fd); if (i > 0) { Vector2 anchor = new Vector2(-5.0f + 1.0f * i, 5.0f); jd.initialize(prevBody, body, anchor); world.createJoint(jd); } prevBody = body; } shape.dispose(); } { PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.125f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 20.0f; WeldJointDef jd = new WeldJointDef(); Body prevBody = ground; for (int i = 0; i < e_count; i++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(5.5f + 1.0f * i, 10.0f); bd.gravityScale = 10.0f; Body body = world.createBody(bd); body.createFixture(fd); if (i > 0) { Vector2 anchor = new Vector2(5.0f + 1.0f * i, 10.0f); jd.initialize(prevBody, body, anchor); world.createJoint(jd); } prevBody = body; } shape.dispose(); } for (int i = 0; i < 2; i++) { Vector2[] vertices = new Vector2[3]; vertices[0] = new Vector2(-0.5f, 0); vertices[1] = new Vector2(0.5f, 0); vertices[2] = new Vector2(0, 1.5f); PolygonShape shape = new PolygonShape(); shape.set(vertices); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 1.0f; BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-8.0f + 8.0f * i, 12.0f); Body body = world.createBody(bd); body.createFixture(fd); shape.dispose(); } for (int i = 0; i < 2; i++) { CircleShape shape = new CircleShape(); shape.setRadius(0.5f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 1.0f; BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-6.0f + 6.0f * i, 10.0f); Body body = world.createBody(bd); body.createFixture(fd); shape.dispose(); } }
From source file:com.badlogic.gdx.tests.box2d.CharacterCollision.java
License:Apache License
@Override protected void createWorld(World world) { {//from w ww . j a va2 s. co m BodyDef bd = new BodyDef(); Body ground = world.createBody(bd); EdgeShape shape = new EdgeShape(); shape.set(new Vector2(-20, 0), new Vector2(20, 0)); ground.createFixture(shape, 0); shape.dispose(); } { BodyDef bd = new BodyDef(); Body ground = world.createBody(bd); EdgeShape shape = new EdgeShape(); shape.setRadius(0); shape.set(new Vector2(-8, 1), new Vector2(-6, 1)); ground.createFixture(shape, 0); shape.set(new Vector2(-6, 1), new Vector2(-4, 1)); ground.createFixture(shape, 0); shape.set(new Vector2(-4, 1), new Vector2(-2, 1)); ground.createFixture(shape, 0); shape.dispose(); } { BodyDef bd = new BodyDef(); Body ground = world.createBody(bd); PolygonShape shape = new PolygonShape(); shape.setAsBox(1, 1, new Vector2(4, 3), 0); ground.createFixture(shape, 0); shape.setAsBox(1, 1, new Vector2(6, 3), 0); ground.createFixture(shape, 0); shape.setAsBox(1, 1, new Vector2(8, 3), 0); ground.createFixture(shape, 0); shape.dispose(); } { BodyDef bd = new BodyDef(); Body ground = world.createBody(bd); EdgeShape shape = new EdgeShape(); float d = 2 * 2 * 0.005f; shape.setRadius(0); shape.set(new Vector2(-1 + d, 3), new Vector2(1 - d, 3)); ground.createFixture(shape, 0); shape.set(new Vector2(1, 3 + d), new Vector2(1, 5 - d)); ground.createFixture(shape, 0); shape.set(new Vector2(1 - d, 5), new Vector2(-1 + d, 5)); ground.createFixture(shape, 0); shape.set(new Vector2(-1, 5 - d), new Vector2(-1, 3 + d)); ground.createFixture(shape, 0); shape.dispose(); } { BodyDef bd = new BodyDef(); bd.position.set(-3, 5); bd.type = BodyType.DynamicBody; bd.fixedRotation = true; bd.allowSleep = false; Body body = world.createBody(bd); PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.5f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 20.0f; body.createFixture(fd); shape.dispose(); } { BodyDef bd = new BodyDef(); bd.position.set(-5, 5); bd.type = BodyType.DynamicBody; bd.fixedRotation = true; bd.allowSleep = false; Body body = world.createBody(bd); float angle = 0; float delta = (float) Math.PI / 3; Vector2[] vertices = new Vector2[6]; for (int i = 0; i < 6; i++) { vertices[i] = new Vector2(0.5f * (float) Math.cos(angle), 0.5f * (float) Math.sin(angle)); angle += delta; } PolygonShape shape = new PolygonShape(); shape.set(vertices); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 20.0f; body.createFixture(fd); shape.dispose(); } { BodyDef bd = new BodyDef(); bd.position.set(3, 5); bd.type = BodyType.DynamicBody; bd.fixedRotation = true; bd.allowSleep = false; Body body = world.createBody(bd); CircleShape shape = new CircleShape(); shape.setRadius(0.5f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 20.0f; body.createFixture(fd); shape.dispose(); } }
From source file:com.badlogic.gdx.tests.box2d.OneSidedPlatform.java
License:Apache License
@Override protected void createWorld(World world) { {//from w w w . ja v a2s.c o m BodyDef bd = new BodyDef(); Body ground = world.createBody(bd); EdgeShape shape = new EdgeShape(); shape.set(new Vector2(-20.0f, 0), new Vector2(20.0f, 0f)); ground.createFixture(shape, 0); shape.dispose(); } { BodyDef bd = new BodyDef(); bd.position.set(0, 10); Body body = world.createBody(bd); PolygonShape shape = new PolygonShape(); shape.setAsBox(3, 0.5f); m_platform = body.createFixture(shape, 0); m_bottom = 10.0f - 0.5f; m_top = 10.0f + 0.5f; } { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(0, 12); Body body = world.createBody(bd); m_radius = 0.5f; CircleShape shape = new CircleShape(); shape.setRadius(m_radius); m_character = body.createFixture(shape, 20.0f); shape.dispose(); m_state = State.Unknown; } world.setContactFilter(new ContactFilter() { @Override public boolean shouldCollide(Fixture fixtureA, Fixture fixtureB) { if ((fixtureA == m_platform && fixtureB == m_character) || (fixtureA == m_platform && fixtureB == m_character)) { Vector2 position = m_character.getBody().getPosition(); if (position.y < m_top + m_radius - 3.0f * 0.005f) return false; else return true; } else return true; } }); }
From source file:com.badlogic.gdx.tests.box2d.SphereStack.java
License:Apache License
@Override protected void createWorld(World world) { {//from w ww . ja v a2 s . c om BodyDef bd = new BodyDef(); Body ground = world.createBody(bd); EdgeShape shape = new EdgeShape(); shape.set(new Vector2(-40, 0), new Vector2(40, 0)); ground.createFixture(shape, 0); shape.dispose(); } { CircleShape shape = new CircleShape(); shape.setRadius(1.0f); for (int i = 0; i < e_count; i++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(0, 4.0f + 3.0f * i); Body body = world.createBody(bd); body.createFixture(shape, 1.0f); } shape.dispose(); } }
From source file:com.badlogic.gdx.tests.box2d.VaryingRestitution.java
License:Apache License
@Override protected void createWorld(World world) { {//from w w w . j a va 2 s . c o m BodyDef bd = new BodyDef(); Body ground = world.createBody(bd); EdgeShape shape = new EdgeShape(); shape.set(new Vector2(-40, 0), new Vector2(40, 0)); ground.createFixture(shape, 0.0f); shape.dispose(); } { CircleShape shape = new CircleShape(); shape.setRadius(1); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 1.0f; float restitution[] = { 0, 0.1f, 0.3f, 0.5f, 0.75f, 0.9f, 1.0f }; for (int i = 0; i < restitution.length; i++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-10.0f + 3.0f * i, 20.0f); Body body = world.createBody(bd); fd.restitution = restitution[i]; body.createFixture(fd); } shape.dispose(); } }