首页 > 解决方案 > Box2d如何以最简单的方式设置唤醒世界中的所有物体

问题描述

我希望世界上所有的物体在我触发某些东西时立即醒来(在我的情况下是设置反重力以使所有动态物体向上浮动)。

我目前的想法是创建另一个 Body 数组列表,以使用 forLoop 函数在每个身体上创建和设置身体。

除此之外还有什么更简单的方法吗?

标签: libgdxbox2d

解决方案


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

如果您不想管理自己的列表,可以在 World 类中使用此方法,如下所示:

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

推荐阅读