JBox2d - world.getBodyList()进入无限循环

Rog*_*vis 3 java android box2d jbox2d

我正在尝试创建一个可以将JBox2d世界的对象绘制到画布上的类.

在更新时我打电话给

render.draw(canvas,world);
Run Code Online (Sandbox Code Playgroud)

它将世界和画布传递给绘图类,它将循环遍历世界的对象并将它们绘制到画布中.

public void draw(Canvas canvas, World world)
{

    canvas.drawColor(0xFF6699FF);

    for ( Body b = world.getBodyList(); b!=null; b.getNext() )
    {
        Log.e("xy", String.valueOf( b.getPosition().x )+" "+String.valueOf( b.getPosition().y )  );
    }

}
Run Code Online (Sandbox Code Playgroud)

然而它似乎进入一个无限循环,后退按钮不起作用,然后它说"没有响应"并提供强制关闭.

在这种情况下,任何想法是什么是在身体中循环的正确方法?

谢谢!

BeR*_*ive 6

正如我的评论中所提到的 - 循环应该如下:

for ( Body b = world.getBodyList(); b!=null; b = b.getNext() )
{
    Log.e("xy", String.valueOf(b.getPosition().x)+ " " + String.valueOf(b.getPosition().y));
}
Run Code Online (Sandbox Code Playgroud)