J'ai regardé d'autres threads, et malgré tout ce que j'ai essayé, les formes que j'ai créées dans box2d ne sont pas rendues. C'est très bizarre, et j'espère que vous pourrez apporter une solution.Box2D Formes non-Rendu
public class worldRender {
fighterGame game;
PlayScreen renderGame;
private Viewport gamePort = new StretchViewport(1020/game.PPM,760/game.PPM);
World world = new World(new Vector2(0,-10), true);
Box2DDebugRenderer b2dr = new Box2DDebugRenderer();
private OrthographicCamera gameCam = new OrthographicCamera();
BodyDef bDef = new BodyDef();
public Body b2body;
FixtureDef fixtureDef = new FixtureDef();
ShapeRenderer shapeRender;
public worldRender() {
gameCam = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
gameCam.position.set(1020/2, 760/2, 0);
}
public worldRender(float dt) {
gameCam.update();
world.step(1/60f, 6, 2);
b2dr.render(world, gameCam.combined);
bodyRender();
}
public void bodyRender() {
BodyDef bdef = new BodyDef();
bdef.position.set(0.0f/game.PPM,4.0f/game.PPM);
bdef.type = BodyDef.BodyType.DynamicBody;
b2body = world.createBody(bdef);
FixtureDef fdef = new FixtureDef();
fdef.friction = 0.25f;
CircleShape shape = new CircleShape();
shape.setRadius(5);
fdef.shape = shape;
fdef.density = 1.0f;
b2body.createFixture(fdef);
}
}
quelle est la valeur de 'PPM', est-ce une constante statique?, Tout d'abord' gameCam' viewport ne dépend pas de 'gamePort' mais vous définissez la position par le paramètre viewport. De plus, votre code n'est pas complet ... depuis que vous appelez quelle méthode – Aryan
Pour toute personne intéressée, cette question est discutée plus loin ici: https://www.reddit.com/r/libgdx/comments/75lio3/box2d_shapes_not_rendering/ –
Créez-vous une nouvelle instance de 'worldRender' chaque fois que vous rendez la scène? Quand est appelé 'worldRender (float dt)'? –