我是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