List of usage examples for com.badlogic.gdx.physics.box2d World getBodies
public void getBodies(Array<Body> bodies)
From source file:com.me.mygdxgame.Entities.MydebugRenderer.java
License:Apache License
private void renderBodies(World world) { renderer.begin(ShapeType.Line); if (drawBodies || drawAABBs) { world.getBodies(bodies); for (Iterator<Body> iter = bodies.iterator(); iter.hasNext();) { Body body = iter.next();/*from www . j a v a2 s . co m*/ if (body.isActive() || drawInactiveBodies) renderBody(body); } } if (drawJoints) { world.getJoints(joints); for (Iterator<Joint> iter = joints.iterator(); iter.hasNext();) { Joint joint = iter.next(); drawJoint(joint); } } renderer.end(); if (drawContacts) { if (Gdx.gl10 != null) Gdx.gl10.glPointSize(3); renderer.begin(ShapeType.Point); for (Contact contact : world.getContactList()) drawContact(contact); renderer.end(); if (Gdx.gl10 != null) Gdx.gl10.glPointSize(1); } }
From source file:com.nebula2d.scene.SceneManager.java
License:Open Source License
public static void fixedUpdate() { if (currentScene == null) return;//w w w.j a v a2 s .c om World physicalWorld = currentScene.getPhysicalWorld(); physicalWorld.step(1 / 45f, 6, 2); Array<Body> bodies = new Array<Body>(); physicalWorld.getBodies(bodies); for (Body body : bodies) { if (body.getType() != BodyDef.BodyType.StaticBody) { GameObject go = (GameObject) body.getUserData(); go.setPosition(body.getPosition().x, body.getPosition().y); go.setRotation((float) (body.getAngle() * 180.0f / Math.PI)); } } }
From source file:com.pastew.autogearbox.handlers.Box2DSprite.java
License:Apache License
/** draws all the {@link Box2DSprite Box2DSprites} on the {@link Body} or {@link Fixture} that hold them in their user data in the given {@link World} */ public static void draw(Batch batch, World world, boolean sortByZ) { @SuppressWarnings("unchecked") Array<Body> tmpBodies = Pools.obtain(Array.class); world.getBodies(tmpBodies); if (sortByZ) { @SuppressWarnings("unchecked") ObjectMap<Box2DSprite, Object> tmpZMap = Pools.obtain(ObjectMap.class); tmpZMap.clear();/*from www .j a v a 2s . c o m*/ for (Body body : tmpBodies) { Box2DSprite tmpBox2DSprite; if ((tmpBox2DSprite = userDataAccessor.apply(body.getUserData())) != null) tmpZMap.put(tmpBox2DSprite, body); for (Fixture fixture : body.getFixtureList()) if ((tmpBox2DSprite = userDataAccessor.apply(fixture.getUserData())) != null) tmpZMap.put(tmpBox2DSprite, fixture); } @SuppressWarnings("unchecked") Array<Box2DSprite> tmpKeys = Pools.obtain(Array.class); Iterator<Box2DSprite> keys = tmpZMap.keys(); while (keys.hasNext()) tmpKeys.add(keys.next()); tmpKeys.sort(zComparator); for (Box2DSprite key : tmpKeys) { Object value = tmpZMap.get(key); if (value instanceof Body) key.draw(batch, (Body) value); else key.draw(batch, (Fixture) value); } tmpKeys.clear(); tmpZMap.clear(); Pools.free(tmpKeys); Pools.free(tmpZMap); } else for (Body body : tmpBodies) { Box2DSprite tmpBox2DSprite; if ((tmpBox2DSprite = userDataAccessor.apply(body.getUserData())) != null) tmpBox2DSprite.draw(batch, body); for (Fixture fixture : body.getFixtureList()) if ((tmpBox2DSprite = userDataAccessor.apply(fixture.getUserData())) != null) tmpBox2DSprite.draw(batch, fixture); } tmpBodies.clear(); Pools.free(tmpBodies); }
From source file:com.stercore.code.net.dermetfan.utils.libgdx.graphics.Box2DSprite.java
License:Apache License
/** draws all the {@link Box2DSprite Box2DSprites} on the {@link Body} or {@link Fixture} that hold them in their user data in the given {@link World} */ public static void draw(Batch batch, World world, boolean sortByZ) { @SuppressWarnings("unchecked") Array<Body> tmpBodies = Pools.obtain(Array.class); Box2DSprite tmpBox2DSprite;//from www . j ava2 s . co m world.getBodies(tmpBodies); if (sortByZ) { @SuppressWarnings("unchecked") ObjectMap<Box2DSprite, Object> tmpZMap = Pools.obtain(ObjectMap.class); tmpZMap.clear(); for (Body body : tmpBodies) { if ((tmpBox2DSprite = userDataAccessor.apply(body.getUserData())) != null) tmpZMap.put(tmpBox2DSprite, body); for (Fixture fixture : body.getFixtureList()) if ((tmpBox2DSprite = userDataAccessor.apply(fixture.getUserData())) != null) tmpZMap.put(tmpBox2DSprite, fixture); } @SuppressWarnings("unchecked") Array<Box2DSprite> tmpKeys = Pools.obtain(Array.class); Iterator<Box2DSprite> keys = tmpZMap.keys(); while (keys.hasNext()) tmpKeys.add(keys.next()); tmpKeys.sort(zComparator); for (Box2DSprite key : tmpKeys) { Object value = tmpZMap.get(key); if (value instanceof Body) key.draw(batch, (Body) value); else key.draw(batch, (Fixture) value); } tmpKeys.clear(); tmpZMap.clear(); Pools.free(tmpKeys); Pools.free(tmpZMap); } else for (Body body : tmpBodies) { if ((tmpBox2DSprite = userDataAccessor.apply(body.getUserData())) != null) tmpBox2DSprite.draw(batch, body); for (Fixture fixture : body.getFixtureList()) if ((tmpBox2DSprite = userDataAccessor.apply(fixture.getUserData())) != null) tmpBox2DSprite.draw(batch, fixture); } tmpBodies.clear(); Pools.free(tmpBodies); }
From source file:net.dermetfan.utils.libgdx.graphics.Box2DSprite.java
License:Apache License
/** draws all the {@link Box2DSprite Box2DSprites} on the {@link Body} or {@link Fixture} that hold them in their user data in the given {@link World} */ public static void draw(Batch batch, World world, boolean sortByZ) { world.getBodies(tmpBodies); if (!sortByZ) { for (Body body : tmpBodies) { if ((tmpBox2DSprite = userDataAccessor.access(body.getUserData())) != null) tmpBox2DSprite.draw(batch, body); for (Fixture fixture : body.getFixtureList()) if ((tmpBox2DSprite = userDataAccessor.access(fixture.getUserData())) != null) tmpBox2DSprite.draw(batch, fixture); }//from ww w. j a v a2 s. com return; } for (Body body : tmpBodies) { if ((tmpBox2DSprite = userDataAccessor.access(body.getUserData())) != null) tmpZMap.put(tmpBox2DSprite, body); for (Fixture fixture : body.getFixtureList()) if ((tmpBox2DSprite = userDataAccessor.access(fixture.getUserData())) != null) tmpZMap.put(tmpBox2DSprite, fixture); } Array<Box2DSprite> keys = tmpZMap.keys().toArray(); keys.sort(zComparator); Object value; for (Box2DSprite key : keys) { value = tmpZMap.get(key); if (value instanceof Body) key.draw(batch, (Body) value); else key.draw(batch, (Fixture) value); } tmpZMap.clear(); }
From source file:org.box2d.r3.gdx.GDXBox2DDebugRenderer.java
License:Apache License
private void renderBodies(final World world) { this.renderer.begin(ShapeType.Line); if (this.drawBodies || this.drawAABBs) { world.getBodies(bodies); for (final Iterator<Body> iter = bodies.iterator(); iter.hasNext();) { final Body body = iter.next(); if (body.isActive() || this.drawInactiveBodies) { this.renderBody(body); }/*from w ww. j ava 2 s . c om*/ } } if (this.drawJoints) { world.getJoints(joints); for (final Iterator<Joint> iter = joints.iterator(); iter.hasNext();) { final Joint joint = iter.next(); this.drawJoint(joint); } } this.renderer.end(); if (this.drawContacts) { this.renderer.begin(ShapeType.Point); for (final Contact contact : world.getContactList()) { this.drawContact(contact); } this.renderer.end(); } }