Текстуры в разных позициях от тел в LibGDX - PullRequest
0 голосов
/ 02 мая 2020

Я делаю проект-прототип в LibGDX и использую Box2D для физики. Я создал карту и добавил к нему некоторые столкновения, я добавил объекты, которые тоже имеют форму круга. Эти круги правильно расположены в World of Box2D, но текстуры, которые я хочу закрепить на них, основаны на других координатах, с пользовательской камеры, я думаю. Вот результат: enter image description here

Мой метод рендеринга в базовом классе «Entity»

public void update() {
    handleInput();
}

public void render(SpriteBatch batch) {
    update();
    batch.begin();
    batch.draw(texture, body.getPosition().x, body.getPosition().y);
    batch.end();
}

Мой метод рендеринга в классе BaseMap

private void update(OrthographicCamera camera) {
    camera.position.x = player.getPosition().x;
    camera.position.y = player.getPosition().y;
    world.step(1/60f, 6, 2);
}

public void render(OrthographicCamera camera, SpriteBatch batch) {
    update(camera);
    renderer.setView(camera);

    batch.begin();
    renderer.render();
    batch.end();

    for(Entity entity : entities) {
        entity.render(batch);
    }
}

Рендерер здесь - это OrthogonalTiledMapRenderer

1 Ответ

0 голосов
/ 09 мая 2020

Убедитесь, что вы также устанавливаете матрицу для пакета:

batch.setProjectionMatrix(camera.combined);

Аналогично для Box2DDebugRenderer:

renderer.render(world, camera.combined);

Предполагается, что вы не используете масштабированный мир box2d.

...