Box2d如何以最简单的方式设置唤醒一个世界中的所有物体

Box2d how to setAwake all the bodies in a world in the easiest way

我希望世界上所有的物体在我触发某物时立即醒来(在我的例子中是设置反重力使所有动态物体向上漂浮)。

我目前的想法是创建另一个 Body arraylist 来保持创建的 body 并使用 forLoop 函数在每个 body 上设置唤醒。

还有比这更简单的方法吗?

每次添加 body 时,也会将其添加到列表中。 触发时,遍历列表并将所有内容设置为唤醒。

如果您不想管理自己的列表,您可以在世界class中使用this方法,如下所示:

Array<Body> bodies = new Array<>();
world.getBodies(array);
for (Body b : bodies) {
    b.setAwake();
}