[英]Box2D Polygon Bodies not rotating
我正在嘗試使用“libGDX”和“Box2D”創建游戲。 我在游戲中有幾個形狀,所以我創建了一個BodyFactory
類,它使用PolygonShape
創建我的身體
問題是,當我使用Shape.setAsBox()
方法創建一個Shape.setAsBox()
,一切正常,但是當我使用PolygonShape.set(vertices)
創建PolygonShape.set(vertices)
時, PolygonShape.set(vertices)
的位置會根據需要更改,但它們不會旋轉一點都不
當我從天空中丟下3具屍體時,這就是我得到的(在穩定之后):
廣場旋轉並停留在地面,其他形狀不會。
另請注意,我嘗試添加
body.setFixedRotation(false);
我的代碼,但沒有改變。
此外,形狀的摩擦,質量和密度也是合理的。
這是我的代碼的一部分,它從文件創建一個“PolygonShape”:
...
Body body = world.createBody(bodyDef);
...
for (int i = 0; i < bodyConf.meshData.length; i++) {
PolygonShape polygonShape = new PolygonShape();
polygonShape.set(bodyConf.meshData[i]);
fixtureDef.shape = polygonShape;
body.createFixture(fixtureDef);
polygonShape.dispose();
}
我認為問題是你只創建了一個附有三個 Fixture
的Body
。
你真正想要的是三個 Body
,每個都有一個 Fixture
。 這樣,每個身體可以獨立於其他身體旋轉。
for (int i = 0; i < bodyConf.meshData.length; i++) {
BodyDef bodyDef = ...;
Body body = world.createBody(bodyDef);
PolygonShape polygonShape = new PolygonShape();
polygonShape.set(bodyConf.meshData[i]);
fixtureDef.shape = polygonShape;
body.createFixture(fixtureDef);
polygonShape.dispose();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.