簡體   English   中英

Box2D Polygon Bodies不旋轉

[英]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();
}

我認為問題是你只創建了一個附有三個 FixtureBody

你真正想要的是三個 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM