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

标签 java android box2d jbox2d

我正在尝试创建一个类,将我的 JBox2d 世界的对象绘制到 Canvas 上。

关于更新,我有一个电话给

render.draw(canvas,world);

它将世界和 Canvas 传递给绘图类,绘图类应该循环遍历世界的对象并将它们绘制到 Canvas 中。

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 )  );
    }

}

但它似乎进入了一个无限循环,后退按钮不起作用,然后它说“没有响应”并提出强制关闭。

在这种情况下,有什么想法可以让 body 循环的正确方法是什么吗?

谢谢!

最佳答案

如我的评论中所述 - 循环应如下所示:

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

关于java - JBox2d - world.getBodyList() 进入无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10514981/

相关文章:

java - 意外的 Java 功能接口(interface)转换

java - 从 Applet 打印 JasperReport

android - 如何获取 Google Play 应用的 beta 用户数量

iphone - 如何对 Box2D 物体施加恒定的力?

java - 是否可以随机访问Java文件中存储的序列化数组中的特定索引值?

java - 用Java更新游戏记录

java - longBitsToDouble,不进行舍入,是否可以

java - (安卓工作室) E/Surface : getSlotFromBufferLocked: unknown buffer: 0xae6b28f0

java - libgdx 实用程序 HTML

java - Box2D 灯光在 scene2d Actor 绘制之间渲染