Refine search
public void makeDomino(float x, float y, boolean horizontal, World world) { PolygonShape sd = new PolygonShape(); sd.setAsBox(.5f * dwidth, .5f * dheight); FixtureDef fd = new FixtureDef(); fd.shape = sd; fd.density = ddensity; BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; fd.friction = dfriction; fd.restitution = 0.65f; bd.position = new Vec2(x, y); bd.angle = horizontal ? (float) (Math.PI / 2.0) : 0f; Body myBody = getWorld().createBody(bd); myBody.createFixture(fd); }
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 void initTest(boolean deserialized) { { BodyDef bd = new BodyDef(); Body ground = m_world.createBody(bd); ChainShape shape = new ChainShape(); Vec2[] vertices = new Vec2[] {new Vec2(-20, 0), new Vec2(20, 0), new Vec2(20, 40), new Vec2(-20, 40)}; shape.createLoop(vertices, 4); ground.createFixture(shape, 0.0f); } m_world.setParticleRadius(0.15f); m_world.setParticleDamping(0.2f); { PolygonShape shape = new PolygonShape(); shape.setAsBox(8, 10, new Vec2(-12, 10.1f), 0); ParticleGroupDef pd = new ParticleGroupDef(); pd.shape = shape; m_world.createParticleGroup(pd); } }
getWorld().setGravity(new Vec2(0.0f, 0.0f)); BodyDef bd = new BodyDef(); bd.position.set(0.0f, 20.0f); ground = getWorld().createBody(bd); FixtureDef sd = new FixtureDef(); sd.shape = shape; sd.density = 0.0f; shape.set(new Vec2(-20.0f, -20.0f), new Vec2(-20.0f, 20.0f)); ground.createFixture(sd); ground.createFixture(sd); ground.createFixture(sd); PolygonShape poly1 = new PolygonShape(); poly1.set(vertices, 3); PolygonShape poly2 = new PolygonShape(); BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.angularDamping = 2.0f; BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC;
BodyDef bd = new BodyDef(); Body ground = getWorld().createBody(bd); ground.createFixture(shape, 0.0f); ground.createFixture(shape, 0.0f); shape.m_radius = 0.25f; BodyDef bd = new BodyDef(); Body body = getWorld().createBody(bd); FixtureDef sd = new FixtureDef(); sd.density = 1.0f; sd.shape = shape; sd.filter.groupIndex = -1; BodyDef bd = new BodyDef(); m_chassis = getWorld().createBody(bd); shape.m_radius = 1.6f; FixtureDef sd = new FixtureDef(); sd.density = 1.0f; sd.shape = shape; sd.filter.groupIndex = -1; BodyDef bd = new BodyDef();
Vec2 gravity = new Vec2(0,-10); World world = new World(gravity); BodyDef groundBodyDef = new BodyDef(); groundBodyDef.position.set(0, -10); Body groundBody = world.createBody(groundBodyDef); PolygonShape groundBox = new PolygonShape(); groundBox.setAsBox(50, 10); groundBody.createFixture(groundBox, 0); BodyDef bodyDef = new BodyDef(); bodyDef.type = BodyType.DYNAMIC; bodyDef.position.set(0, 4); Body body = world.createBody(bodyDef); PolygonShape dynamicBox = new PolygonShape(); dynamicBox.setAsBox(1, 1); FixtureDef fixtureDef = new FixtureDef(); fixtureDef.shape = dynamicBox; fixtureDef.density = 1; fixtureDef.friction = 0.3f; body.createFixture(fixtureDef); world.step(timeStep, velocityIterations, positionIterations); Vec2 position = body.getPosition(); float angle = body.getAngle(); System.out.printf("%4.2f %4.2f %4.2f\n", position.x, position.y, angle);
private void initReel() { BodyDef reelDef = new BodyDef(); reelDef.type = BodyType.DYNAMIC; reelDef.position = new Vec2(3, 3); reel = world.createBody(reelDef); FixtureDef fixture = new FixtureDef(); fixture.friction = 0.5f; fixture.restitution = 0.4f; fixture.density = 1; int parts = 30; for (int i = 0; i < parts; ++i) { PolygonShape shape = new PolygonShape(); double angle1 = i / (double) parts * 2 * Math.PI; double x1 = 2.7 * Math.cos(angle1); double y1 = 2.7 * Math.sin(angle1); double angle2 = (i + 1) / (double) parts * 2 * Math.PI; double x2 = 2.7 * Math.cos(angle2); double y2 = 2.7 * Math.sin(angle2); double angle = (angle1 + angle2) / 2; double x = 0.01 * Math.cos(angle); double y = 0.01 * Math.sin(angle); shape.set(new Vec2[] { new Vec2((float) x1, (float) y1), new Vec2((float) x2, (float) y2), new Vec2((float) (x2 - x), (float) (y2 - y)), new Vec2((float) (x1 - x), (float) (y1 - y)) }, 4); fixture.shape = shape; reel.createFixture(fixture); } }
Body ground = null; BodyDef bd = new BodyDef(); ground = getWorld().createBody(bd); shape.set(new Vec2(-40.0f, 0.0f), new Vec2(40.0f, 0.0f)); ground.createFixture(shape, 0.0f); PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.5f); BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position.set(-5.0f, 5.0f); m_bodies[0] = getWorld().createBody(bd); m_bodies[0].createFixture(shape, 5.0f); bd.position.set(5.0f, 5.0f); m_bodies[1] = getWorld().createBody(bd); m_bodies[1].createFixture(shape, 5.0f); bd.position.set(5.0f, 15.0f);
@Override public void initTest(boolean deserialized) { BodyDef bd = new BodyDef(); Body ground = m_world.createBody(bd); 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(); BodyDef bd = new BodyDef(); BodyDef bd = new BodyDef(); BodyDef bd = new BodyDef(); BodyDef bd = new BodyDef(); BodyDef bd = new BodyDef();
FixtureDef fd = new FixtureDef(); fd.shape = pd; fd.density = 1.0f; float cx = 0.0f + MathUtils.randomFloat(-0.6f,0.6f); float cy = 15.0f + MathUtils.randomFloat(-2.3f,2.0f); BodyDef bd = new BodyDef(); bd.position = new Vec2( cx, cy ); bd.fixedRotation = true; bd.type = BodyType.DYNAMIC; Body b = getWorld().createBody(bd); b.createFixture(fd).setUserData(LIQUID_INT); MassData md = new MassData(); md.mass = massPerParticle; md.I = 1.0f; b.setMassData(md); b.setSleepingAllowed(false); liquid[i] = b; 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);
fd2.density = 1.0f; PolygonShape poly1 = new PolygonShape(); PolygonShape poly2 = new PolygonShape(); vertices[0] = new Vec2(); fd2.shape = poly2; BodyDef bd1 = new BodyDef(), bd2 = new BodyDef(); bd1.type = BodyType.DYNAMIC; bd2.type = BodyType.DYNAMIC; bd2.angularDamping = 10.0f; Body body1 = getWorld().createBody(bd1); Body body2 = getWorld().createBody(bd2); body1.createFixture(fd1); body2.createFixture(fd2); djd.initialize(body1, body2, p2.add(m_offset), p5.add(m_offset)); getWorld().createJoint(djd); djd.initialize(body1, body2, p3.add(m_offset), p4.add(m_offset));
void Break() { // Create two bodies from one. Body body1 = m_piece1.getBody(); Vec2 center = body1.getWorldCenter(); body1.destroyFixture(m_piece2); m_piece2 = null; BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position = body1.getPosition(); bd.angle = body1.getAngle(); Body body2 = getWorld().createBody(bd); m_piece2 = body2.createFixture(m_shape2, 1.0f); // Compute consistent velocities for new bodies based on // cached velocity. Vec2 center1 = body1.getWorldCenter(); Vec2 center2 = body2.getWorldCenter(); Vec2 velocity1 = m_velocity.add(Vec2.cross(m_angularVelocity, center1.sub(center))); Vec2 velocity2 = m_velocity.add(Vec2.cross(m_angularVelocity, center2.sub(center))); body1.setAngularVelocity(m_angularVelocity); body1.setLinearVelocity(velocity1); body2.setAngularVelocity(m_angularVelocity); body2.setLinearVelocity(velocity2); }
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); }
PolygonShape sd = new PolygonShape(); sd.setAsBox(50.0f, 10.0f); BodyDef bd = new BodyDef(); bd.position = new Vec2(0.0f, -10.0f); getWorld().createBody(bd).createFixture(sd, 0f); PolygonShape sd = new PolygonShape(); sd.setAsBox(.7f, .7f); FixtureDef fd = new FixtureDef(); fd.density = 35f; BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; fd.shape = sd; bd.bullet = true; bd.position = new Vec2(30f, 50f); Body b = getWorld().createBody(bd); b.createFixture(fd); b.setLinearVelocity(new Vec2(-25f, -25f)); b.setAngularVelocity(6.7f); bd.position = new Vec2(-30, 25f); b = getWorld().createBody(bd); b.createFixture(fd); b.setLinearVelocity(new Vec2(35f, -10f));
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); PolygonShape shape = new PolygonShape(); Vec2[] vertices = {new Vec2(-40, -1), new Vec2(-20, -1), new Vec2(-20, 20), new Vec2(-40, 30)}; 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); 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);
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); shape.m_radius = radius; FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 1.0f; 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 createBody(World world, View view) { BodyDef bodyDef = new BodyDef(); bodyDef.setType(BodyType.DYNAMIC); bodyDef.position.set(pixelsToMeters(view.getX() + view.getWidth() / 2) , pixelsToMeters(view.getY() + view.getHeight() / 2)); Shape shape = null; Boolean isCircle = (Boolean) view.getTag(R.id.mobike_view_circle_tag); if(isCircle != null && isCircle){ shape = createCircleShape(view); }else{ shape = createPolygonShape(view); } FixtureDef fixture = new FixtureDef(); fixture.setShape(shape); fixture.friction = friction; fixture.restitution = restitution; fixture.density = density; Body body = world.createBody(bodyDef); body.createFixture(fixture); view.setTag(R.id.mobike_body_tag,body); body.setLinearVelocity(new Vec2(random.nextFloat(),random.nextFloat())); }
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);
private void createBridge(Vector2 vecFrom, Vector2 vecTo, Float thickness){ BodyDef bodyDef = new BodyDef(); bodyDef.type = BodyDef.BodyType.StaticBody; bodyDef.position.set(vecFrom); Body tmpBody = Box2dGameWorld.getInstance().getWorldBox2D().createBody(bodyDef); PolygonShape shape = new PolygonShape(); shape.set( new Vector2[]{ new Vector2(0,0) ,new Vector2(vecTo.x-vecFrom.x,vecTo.y-vecFrom.y) ,new Vector2(vecTo.x-vecFrom.x,vecTo.y-vecFrom.y-thickness) ,new Vector2(0,0-thickness)}); FixtureDef fixtureDef = new FixtureDef(); fixtureDef.shape = shape; fixtureDef.density = 1f; tmpBody.createFixture(fixtureDef); }
public Player(World world,float x,float y,float width){ this.width = width; height =width*2; BodyDef polygon = new BodyDef(); polygon.type = BodyType.DynamicBody; polygon.position.set(x,y); //<-- you use position one polygon.fixedRotation = true; PolygonShape poly = new PolygonShape(); poly.setAsBox(width/2,height/2); //fixture defn polygon.position.set(5,4); //<-- you use position two, twice, //this overrides the previous consider this FixtureDef polyfixture = new FixtureDef(); polyfixture.shape = poly; polyfixture.friction = 0.8f; polyfixture.restitution = 0.1f; polyfixture.density = 3; //creating actual body polybody = world.createBody(polygon); //add.setUserData("YourBody1Name"); // polybody.createFixture(polyfixture); <-- this original code // change for example: polybody.createFixture(polyfixture).setUserData("YourBody1"); polysprite = new Sprite(new Texture("img/car.jpg")); polysprite.setSize(2, 3); //size of mario polysprite.setOrigin(polysprite.getWidth()/2, polysprite.getHeight()/2);