So, originally I was using the basic PhysicsWorld class but had issues with my objects 'landing' in place and bouncing around without having any impacts occurring - this was not good. So under advice given here I changed to using a FixedStepPhysicalWorld - this seems to fix these issues.
My physics world is defined as such:
Using javascript Syntax Highlighting
- this.mPhysicsWorld = new FixedStepPhysicsWorld(30, 1, new Vector2(0, SensorManager.GRAVITY_EARTH), false, 8, 4);
- this.mPhysicsWorld.setContinuousPhysics(false);
- this.mPhysicsWorld.setAutoClearForces(true);
Parsed in 0.002 seconds, using GeSHi 1.0.8.4
So I though this was done and dusted, but then yesterday I tried my game on a freinds more modern phone (I think it was a HTC Sensation S, I've been developing on a HTC Desire) and the physics behave differently. I have a sceen which has some balloons stuck in a area obstructed by some blocks. In my update handler I make my balloons float by doing:
Using java Syntax Highlighting
- final Body b = mPhysicsWorld.getPhysicsConnectorManager().findBodyByShape(s);
- tmpVector2.x = 0;
- tmpVector2.y = ((-SensorManager.GRAVITY_EARTH - 0.3f) * b.getMassData().mass);
- b.applyForce(tmpVector2, b.getWorldCenter());
Parsed in 0.030 seconds, using GeSHi 1.0.8.4
This works great on the desire, but on the Sensation S the balloons have enough force to lift the block that is obstructing them - such the block lifts and the balloons escape and fly away.
Why is this different on the two different devices? How can I make the physics bahave the same regardless of the devices performance capaility?
Any ideas?

