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