我没有在libgdx中获得第二个世界

时间:2016-06-10 12:46:34

标签: java libgdx box2d

  Array<Body> bodies = new Array<Body>(world.getBodyCount());
                world.getBodies();

                for (Body body : bodies) {

                    update(body); 

                }

1 个答案:

答案 0 :(得分:2)

好的,首先你要分配Array并确保支持数组适合world.getBodyCount()。因此,如果您所在世界中现有的实体数量为10,则ArrayList将分配足够的内存来存储10个实体,但所有这些条目都将为null

然后你拨打world.getBodies();但是这无法访问局部变量bodies,它绝对不是static;因此,Array仍然未初始化!

当你来到Array循环时for为空,所以它执行零次;什么都没有更新。所以;真正的诀窍是你没有正确访问世界上包含的bodies

getBodies()是否会返回您应该使用的List