C ++ Box2D — Динамические тела, не подверженные гравитации, если оставить их в покое

Я играл с Box2D в SFML2 и понял; когда я изменяю гравитацию мира, динамические тела, которые некоторое время не трогали, не изменяются гравитацией. Я подготовил видео, чтобы сделать это объяснение более ясным.

Какие-либо решения? Должен ли я сделать свою собственную гравитацию, и почему это происходит?

Это видео. Обратите внимание, что если тела не двигаются в течение короткого времени, на них не влияют более недавно перемещенные тела.

7

Решение

Объекты в Box2D засыпают после того, как они отдыхают. После изменения таких параметров, как гравитация, вам придется разбудить спящие объекты, вероятно, вызвав WakeUp на всех объектах. Объекты также автоматически просыпаются, когда что-то сталкивается с ним, поэтому гравитация начинает действовать после того, как что-то столкнется с объектом.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]