Box2d как настроить Разбудить все тела в мире самым простым способом - PullRequest
0 голосов
/ 12 апреля 2019

Я хочу, чтобы все тела в мире просыпались одновременно, когда я что-то запускаю (в моем случае это установка силы обратной гравитации, чтобы плавать все динамические тела вверх).

Мое текущее мышление заключается в создании еще одного массива Array для сохранения созданных тел и установки пробуждения для каждого тела с помощью функции forLoop.

Есть ли более простой способ, кроме этого?

1 Ответ

1 голос
/ 16 апреля 2019

Каждый раз, когда вы добавляете тело, добавляйте его и в список.При запуске выполните итерацию по списку и установите все на пробуждение.

Если вы не хотите управлять собственным списком, вы можете использовать этот метод в классе World, как показано ниже:

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