Libgdx Box2d bodys赢得';使用每米像素数时,屏幕中的t中心

Libgdx Box2d bodys赢得';使用每米像素数时,屏幕中的t中心,libgdx,box2d,Libgdx,Box2d,我试图创建一个示例圆来测试每米的像素数 我的PPM设置为100。 高度和宽度设置为320和480 你知道为什么它不会在y轴上居中,但会在x轴上居中吗。而且,当我将半径设置为50时,它不会绘制任何图形。我是不是遗漏了什么 this.world = new World(new Vector2(0.0f, -9.8f), true); BodyDef bodyDef = new BodyDef(); bodyDef.position.set( App.WIDTH

我试图创建一个示例圆来测试每米的像素数

我的PPM设置为100。 高度和宽度设置为320和480

你知道为什么它不会在y轴上居中,但会在x轴上居中吗。而且,当我将半径设置为50时,它不会绘制任何图形。我是不是遗漏了什么

 this.world = new World(new Vector2(0.0f, -9.8f), true);

        BodyDef bodyDef = new BodyDef();
        bodyDef.position.set(  App.WIDTH / 2 / PPM, App.HEIGHT / 2 / PPM);
        bodyDef.type = BodyDef.BodyType.StaticBody;

        Body body = world.createBody(bodyDef);

        FixtureDef fixtureDef = new FixtureDef();
        CircleShape shape = new CircleShape();
        shape.setRadius(100 / PPM);
        fixtureDef.shape = shape;

        body.createFixture(fixtureDef);
        shape.dispose();
        player = new Player(body);

        box2DDebugRenderer = new Box2DDebugRenderer();
        box2dCam = new OrthographicCamera();


        box2dCam.setToOrtho(false, App.WIDTH / PPM  ,  App.HEIGHT / PPM  );
当半径为100时,当半径为50时,屏幕仅为纯黑色

别担心,伙计们

shape.setRadius((浮动)20/PPM)我必须将其转换为float以显示所有低于100的值

PPM被声明为int应该是float,以避免强制转换

在屏幕上居中显示

box2dCam.position.set(App.WIDTH / 2 / PPM, App.HEIGHT / 2 / PPM, 0);