Я новичок в Box2D. Я просто пытаюсь следовать простой учебник, но при попытке интегрировать его в мой код:Box2D Libgdx черный экран
я начинаю создавать свою игру Libgdx:
public void create() {
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
camera = new OrthographicCamera(w, h, 0);
camera.position.set(camera.viewportWidth * .5f, camera.viewportHeight * .5f, 0f);
camera.update();
batch = new SpriteBatch();
viewSwitcher("GameScreen",null);
}
Вызов viewSwitcher, создает новый объект, который создает новый экран:
public GameScreenController(SomeGame t, String id) {
somegame = t;
db = t.getDB();
world = new World(new Vector2(0, -20), true);
screen = new GameScreen(this);
[. . .]
}
Внутри игровой экран (который расширяет класс Screen) у меня есть метод визуализации:
@Override
public void render(float delta) {
debugRenderer.render(world, camera.combined);
world.step(BOX_STEP, BOX_VELOCITY_ITERATIONS, BOX_POSITION_ITERATIONS);
stage.act(delta);
//stage.draw();
}
Наконец, таймер создает периодически новые объекты. Внутри конструктора этих объектов, у меня есть создание bodyDef:
public void createBodyLetter() {
BodyDef bodyDef = new BodyDef();
bodyDef.type = BodyType.DynamicBody;
bodyDef.position.set(200, 200);
Body body = controller.getWorld().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);
dynamicBox.dispose();
}
Результат, когда я начинаю программа просто черный экран. Кто-нибудь знает, где проблема?
Спасибо
Возможно, uncomment '//stage.draw();' :) – Pavel
Да, я знаю! но проблема, которую я хочу решить, не связана с рисованием сцены: D! –
Возникла ли ошибка на javaw.exe? –