0

如何用 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循环中的某个地方,但我不确定在哪里。是否有一个函数在每次 World 步骤时调用?我可以在里面放一个绘图功能吗?如果我能弄清楚的话,我什至可以使用 DebugDraw...

您能否帮助我理解什么样的类会获取 World 对象中的所有对象并不断绘制它们?(以及画到哪里?)

4

2 回答 2

0

您可以轻松地创建新的测试平台测试,这是测试您的新物理想法的最佳方式,而不必担心绘图和 GUI 的东西。它甚至支持添加额外的实时选项。在这里查看: https ://code.google.com/p/jbox2d/wiki/Testbed

于 2013-11-15T17:08:27.100 回答
0

如果您不习惯编写游戏和物理引擎,那么很难知道在哪里组织所有内容。

Dyn4j 是另一个很棒的物理库,它有很好的例子来解释把所有东西放在哪里,甚至是用户如何与世界交互。dyn4j 库的很多内容与 box2d/jbox2d 相同,因此如果您只是快速尝试他们的示例,它将有助于弄清楚如何在 box2d 中渲染图形。

于 2013-11-20T00:50:36.850 回答