您好我目前在LibGdx中遇到了一个问题,当我在我的世界中创建一个名为world的对象时,它的绘制距离不正确,在这个例子中,我尝试在00处创建一个Box,其大小为瓷砖,但它是大的方式。 只是为了澄清我使用BoxD2只是为了光而不是物理。
我创造了这样的世界:
world = new World(new Vector2(0.0f, 0.0f), false);
我在这个步骤中创建了一个Box("这个"是我的玩家obj)
BodyDef boxDef = new BodyDef();
boxDef.type = BodyType.StaticBody;
boxDef.position.set(this.getX(), this.getY());
body = pState.world.createBody(boxDef);
PolygonShape pShape = new PolygonShape();
pShape.setAsBox( Data.TileSize , Data.TileSize );
body.createFixture(pShape, 0.0f);
它总是被写入的调试中的DebugRenderer绘制,但是如果我改变大小,那么大小加倍,位置就会搞砸。
位置是正确的,但它的大小不应该是因为Data.TileSize
与一个瓷砖的大小相同。
对不起,如果这是一个愚蠢的问题,但我是初学者而且我不是母语为英语的人,所以请原谅语言错误。 你的Tifferan
答案 0 :(得分:0)
它的大小加倍的原因是你想要将宽度/高度的一半传递给PolygonShape.setAsBox(...)。这是setAsBox的JavaDoc。
P.S。我经常犯这个错误:)