如何使用JBox2D绘制元素?我使用DebugDraw很好,我只是想在Java中找到一种快速的方法,因为我对图形没有多大帮助。
我需要使用画布吗?还是一个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 ......
请问您能帮助我了解哪类课程会占用World对象中的所有对象并不断绘制它们? (以及在哪里画?)
答案 0 :(得分:0)
您可以轻松创建新的测试平台测试,这是测试您的新物理创意的最佳方式,而不用担心绘图和GUI内容。它甚至支持添加额外的实时选项。看看这里: https://code.google.com/p/jbox2d/wiki/Testbed
答案 1 :(得分:0)
如果你不习惯编程游戏和物理引擎,很难知道在哪里组织一切。
Dyn4j是另一个伟大的物理库,有很好的例子可以解释放置所有内容的位置,甚至是用户如何与世界互动。关于dyn4j库的很多内容与box2d / jbox2d相同,所以如果你只是快速试用它们的例子,它将帮助找出如何在box2d中渲染图形。