use of com.strongjoshua.console.GUIConsole in project libgdx-inGameConsole by StrongJoshua.
the class Box2DTest method create.
@Override
public void create() {
float w = Gdx.graphics.getWidth();
w *= 2;
float h = Gdx.graphics.getHeight();
h *= 2;
ratio = h / w;
Gdx.app.getGraphics().setWindowedMode((int) w, (int) h);
mX = (float) WIDTH / w;
mY = (float) HEIGHT / h;
Box2D.init();
world = new World(new Vector2(0, -9.81f), true);
batch = new SpriteBatch();
sprites = new Sprite[250];
bodies = new Body[sprites.length];
float k, j;
for (int i = 0; i < sprites.length; i++) {
if (i < 50) {
k = 0;
j = 1;
} else if (i < 100) {
k = 50 * sprites[i - 1].getWidth() + sprites[i - 1].getWidth() / 2;
j = 2;
} else if (i < 150) {
k = 100 * sprites[i - 1].getWidth() + sprites[i - 1].getWidth() / 2;
j = 3;
} else if (i < 200) {
k = 150 * sprites[i - 1].getWidth() + sprites[i - 1].getWidth() / 2;
j = 4;
} else {
k = 200 * sprites[i - 1].getWidth() + sprites[i - 1].getWidth() / 2;
j = 5;
}
sprites[i] = new Sprite(new Texture(Gdx.files.classpath("tests/badlogic.jpg")));
sprites[i].setSize(2, 2);
sprites[i].setOriginCenter();
BodyDef bdef = new BodyDef();
bdef.type = BodyDef.BodyType.DynamicBody;
bdef.position.set(i * sprites[i].getWidth() + sprites[i].getWidth() / 2 - k, 15 * j);
bodies[i] = world.createBody(bdef);
PolygonShape poly = new PolygonShape();
poly.setAsBox(sprites[i].getWidth() / 2, sprites[i].getHeight() / 2);
FixtureDef fdef = new FixtureDef();
fdef.shape = poly;
fdef.restitution = .2f;
fdef.density = 1f;
bodies[i].createFixture(fdef);
poly.dispose();
}
BodyDef bdef = new BodyDef();
bdef.type = BodyDef.BodyType.StaticBody;
bdef.position.set(WIDTH / 2, -5);
Body b = world.createBody(bdef);
PolygonShape poly = new PolygonShape();
poly.setAsBox(50, 5);
b.createFixture(poly, 0);
bdef = new BodyDef();
bdef.type = BodyDef.BodyType.StaticBody;
bdef.position.set(-5, HEIGHT / 2);
b = world.createBody(bdef);
poly = new PolygonShape();
poly.setAsBox(5, 50);
b.createFixture(poly, 0);
bdef = new BodyDef();
bdef.type = BodyDef.BodyType.StaticBody;
bdef.position.set(WIDTH + 5, (HEIGHT * ratio) / 2);
b = world.createBody(bdef);
poly = new PolygonShape();
poly.setAsBox(5, 50);
b.createFixture(poly, 0);
bdef = new BodyDef();
bdef.type = BodyDef.BodyType.StaticBody;
bdef.position.set(WIDTH / 2, HEIGHT * ratio + 5);
b = world.createBody(bdef);
poly = new PolygonShape();
poly.setAsBox(50, 5);
b.createFixture(poly, 0);
poly.dispose();
c = new OrthographicCamera(WIDTH, HEIGHT * ratio);
c.position.set(c.viewportWidth / 2, c.viewportHeight / 2, 0);
c.update();
batch.setProjectionMatrix(c.combined);
debugRenderer = new Box2DDebugRenderer();
console = new GUIConsole(false);
cExec = new MyCommandExecutor();
console.setCommandExecutor(cExec);
// set to 'Z' to demonstrate that it works with binds other than the
// default
console.setDisplayKeyID(Input.Keys.Z);
console.setVisible(true);
// test multiple resets with nested multiplexers
InputMultiplexer im1 = new InputMultiplexer();
im1.addProcessor(new Stage());
im1.addProcessor(new Stage());
InputMultiplexer im2 = new InputMultiplexer();
im2.addProcessor(new Stage());
im2.addProcessor(new Stage());
im1.addProcessor(im2);
Gdx.input.setInputProcessor(im1);
console.setMaxEntries(16);
console.resetInputProcessing();
// console already present, logged to consoles
console.resetInputProcessing();
console.setSizePercent(100, 33);
console.setPositionPercent(0, 67);
}
Aggregations