我正在尝试创建一个样本圆来测试每米的像素数。
我的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 );
当Radius为100时,当半径为50时,屏幕只是纯黑色
答案 0 :(得分:0)
没关系。
shape.setRadius((float) 20 / PPM);
我必须将它投射到浮动以显示低于100的所有
PPM被声明为int应该是浮动的以避免强制转换。
将其置于屏幕中心
box2dCam.position.set(App.WIDTH / 2 / PPM, App.HEIGHT / 2 / PPM, 0);