我是Box2D和LibGDX的新手,我正在嘗試渲染一個簡單的測試。該代碼應該呈現2×2箱,但它不會在這裏是我的代碼:LibGDX Box2D不渲染
public class PhysicsDemo implements ApplicationListener {
World world = new World(new Vector2(0, -20), true);
Box2DDebugRenderer debugRenderer;
private OrthographicCamera camera;
@Override
public void create() {
camera = new OrthographicCamera();
camera.position.set(0, 0, 0);
//Ground body
BodyDef groundBodyDef =new BodyDef();
groundBodyDef.position.set(0.0f, -20f);
Body groundBody = world.createBody(groundBodyDef);
PolygonShape groundBox = new PolygonShape();
groundBox.setAsBox(50.0f, 10.0f);
groundBody.createFixture(groundBox, 0.0f);
//Dynamic Body
BodyDef bodyDef = new BodyDef();
bodyDef.type = BodyType.DynamicBody;
bodyDef.position.set(0.0f, 4.0f);
Body body = world.createBody(bodyDef);
PolygonShape dynamicBox = new PolygonShape();
dynamicBox.setAsBox(1.0f, 1.0f);
FixtureDef fixtureDef = new FixtureDef();
fixtureDef.shape = dynamicBox;
fixtureDef.density = 1.0f;
fixtureDef.friction = 0.3f;
body.createFixture(fixtureDef);
debugRenderer = new Box2DDebugRenderer();
}
@Override
public void dispose() {
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
debugRenderer.render(world, camera.combined);
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
}
我似乎無法顯示任何內容,我得到的是一個黑色的屏幕。有誰知道什麼是錯的?
謝謝!
您沒有設置相機位置。也許一切正常,但相機並沒有一個正確的位置。 – Aliaaa 2012-07-16 19:37:39
謝謝!我認爲我爲新的OrthographicCamera使用了錯誤的構造器。我現在使用的那個要求提供視口角色。我現在工作。 – foobar5512 2012-07-16 23:15:05