void PhysicsWorld::setGravity(const Vect& gravity) { if (_bodies != nullptr) { for (auto child : *_bodies) { PhysicsBody* body = dynamic_cast<PhysicsBody*>(child); // reset gravity for body if (!body->isGravityEnabled()) { body->applyForce(-_gravity); body->applyForce(gravity); } } } _gravity = gravity; cpSpaceSetGravity(_info->getSpace(), PhysicsHelper::point2cpv(gravity)); }