List of usage examples for com.badlogic.gdx.math Vector2 Vector2
public Vector2(float x, float y)
From source file:com.badlogic.gdx.tests.box2d.OneSidedPlatform.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.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.PhysicalCell.java
public void applyForce(int i, int j, Vector2 force) { bodies[i][j].applyForce(force, new Vector2(0, 0)); }
From source file:com.badlogic.gdx.tests.box2d.PhysicalCell.java
public void applyLinearImpulse(int i, int j, Vector2 force) { bodies[i][j].applyLinearImpulse(force, new Vector2(0, 0)); }
From source file:com.badlogic.gdx.tests.box2d.Prismatic.java
License:Apache License
@Override protected void createWorld(World world) { Body ground;/* w w w . j a va 2s.com*/ { 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(2, 5); BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-10, 10); bd.angle = 0.5f * (float) Math.PI; bd.allowSleep = false; Body body = world.createBody(bd); body.createFixture(shape, 5.0f); PrismaticJointDef pjd = new PrismaticJointDef(); Vector2 axis = new Vector2(2, 1); axis.nor(); pjd.initialize(ground, body, new Vector2(0, 0), axis); pjd.motorSpeed = 10.0f; pjd.maxMotorForce = 10000.0f; pjd.enableMotor = true; pjd.lowerTranslation = 0; pjd.upperTranslation = 20.0f; pjd.enableLimit = true; m_joint = (PrismaticJoint) world.createJoint(pjd); } }
From source file:com.badlogic.gdx.tests.box2d.Pyramid.java
License:Apache License
@Override protected void createWorld(World world) { {/* ww w . ja v a 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(); } { float a = 0.5f; PolygonShape shape = new PolygonShape(); shape.setAsBox(a, a); Vector2 x = new Vector2(-7.0f, 0.75f); Vector2 y = new Vector2(); Vector2 deltaX = new Vector2(0.5625f, 1.25f); Vector2 deltaY = new Vector2(1.125f, 0.0f); for (int i = 0; i < 20; i++) { y.set(x); for (int j = i; j < 20; j++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(y); Body body = world.createBody(bd); body.createFixture(shape, 5.0f); y.add(deltaY); } x.add(deltaX); } } }
From source file:com.badlogic.gdx.tests.box2d.SphereStack.java
License:Apache License
@Override protected void createWorld(World world) { {/*from w ww . j a v a 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); 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 www . j av a 2s . 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(); } }
From source file:com.badlogic.gdx.tests.box2d.VerticalStack.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(-40, 0), new Vector2(40, 0)); ground.createFixture(shape, 0.0f); shape.set(new Vector2(20, 0), new Vector2(20, 20)); ground.createFixture(shape, 0); shape.dispose(); } float xs[] = { 0, -10, -5, 5, 10 }; for (int j = 0; j < e_columnCount; j++) { PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.5f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 1.0f; fd.friction = 0.3f; for (int i = 0; i < e_rowCount; i++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; int n = j * e_rowCount + i; m_indices[n] = n; float x = 0; bd.position.set(xs[j] + x, 0.752f + 1.54f * i); Body body = world.createBody(bd); body.setUserData(n); m_bodies[n] = body; body.createFixture(fd); } shape.dispose(); } m_bullet = null; }
From source file:com.badlogic.gdx.tests.box2d.VerticalStack.java
License:Apache License
@Override public boolean keyDown(int keyCode) { if (keyCode == Input.Keys.COMMA) { if (m_bullet != null) { world.destroyBody(m_bullet); m_bullet = null;/*from w w w.j a v a 2 s. c o m*/ } { CircleShape shape = new CircleShape(); shape.setRadius(0.25f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.density = 20.0f; fd.restitution = 0.05f; BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.bullet = true; bd.position.set(-31, 5); m_bullet = world.createBody(bd); m_bullet.createFixture(fd); m_bullet.setLinearVelocity(new Vector2(400, 0)); } } return false; }
From source file:com.badman.slingmango.data.ConveyorBelt2.java
License:Apache License
@Override protected void createWorld(World world) { world.setContactListener(this); // Ground/*from w w w. j ava 2 s . c o m*/ { BodyDef bodyDef = new BodyDef(); groundBody = world.createBody(bodyDef); EdgeShape shape = new EdgeShape(); shape.set(new Vector2(-20.0f, 0.0f), new Vector2(20.0f, 0.0f)); groundBody.createFixture(shape, 0.0f); } // Platform { BodyDef bd = new BodyDef(); bd.position.set(-5.0f, 5.0f); Body body = world.createBody(bd); PolygonShape shape = new PolygonShape(); shape.setAsBox(10.0f, 0.5f); FixtureDef fd = new FixtureDef(); fd.shape = shape; fd.friction = 0.8f; m_platform = body.createFixture(fd); } // Boxes for (int i = 0; i < 5; ++i) { /*BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(-10.0f + 2.0f * i, 7.0f); Body body = world.createBody(bd); PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.5f); body.createFixture(shape, 20.0f);*/ Mango mango = new Mango(world); mango.body.setTransform(-10.0f + 2.0f * i, 7.0f, 0); } texture = new Texture(Gdx.files.internal("basket.png")); }