JBox2D - 使用DebugDraw绘图

时间:2013-11-14 22:22:34

标签: java box2d paint jbox2d

如何使用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对象中的所有对象并不断绘制它们? (以及在哪里画?)

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果你不习惯编程游戏和物理引擎,很难知道在哪里组织一切。

Dyn4j是另一个伟大的物理库,有很好的例子可以解释放置所有内容的位置,甚至是用户如何与世界互动。关于dyn4j库的很多内容与box2d / jbox2d相同,所以如果你只是快速试用它们的例子,它将帮助找出如何在box2d中渲染图形。