Box 2D allows an object's gravityScale
property to have any multiplier, not just 1 or 0. This means that you can use it to emulate buoyancy, or to simulate effects that Box2D doesn't recognize, like the wind resistance that distinguishes a falling leaf from a falling coin. Use this to emulate water (use a plain blue rectangle if needed, or supply a water sprite), so that the player sinks only slowly instead of falling, and the jump command works while the player is in the middle of the water.
18.188.218.184