如何用JBox2D繪製元素?我很好,使用DebugDraw,我只是想找到一個快速的方法來做到這一點在Java中,因爲我沒有與圖形工作太多。JBox2D - 使用DebugDraw繪圖
我需要使用畫布嗎?或者一個JFrame?當世界知道我怎麼叫
world.drawDebugData()
在哪裏畫它?
我怎麼可以設計出一個能夠在我想要的地方繪製點的類,並將其與JBox2D集成?
...
while(true)
world.step(timeStep, velocityIterations, positionIterations);
Vec2 position = body.getPosition();
float angle = body.getAngle();
System.out.printf("%4.2f %4.2f %4.2f\n", position.x, position.y, angle);
}
我想我可以把這個代碼放在這個while循環內的某個地方,但我並不確定在哪裏。每當世界步驟時有沒有一個函數被調用?我可以在那裏放置繪圖功能嗎?我甚至可以使用DebugDraw,如果我能想出它...
請你幫我理解什麼樣的類會採用世界對象中的所有對象並不斷繪製它們? (以及在哪裏繪製?)
看看這個。它在C++中,但基本上是同樣的問題。 http://stackoverflow.com/questions/3111321/box2d-how-to-manually-render-a-body –
@MartijnCourteaux謝謝!那麼我將如何使用DrawBody類?什麼是SDL_Surface *緩衝區?我很樂意將您的答案標記爲正確並讚揚它! –
SDL是一個C++庫,用於在大多數情況下創建遊戲。但是,您可以用一些OpenGL或Java Graphics替換渲染邏輯。我的文章展示瞭如何確定Box2D世界中多邊形頂點的位置。 –