I am writing an iphone game using cocos2d and box2d engines.
I have a ball which can be jumped by tapping the screen. The jump is applied by using ApplyImpulse method on the ball’s body.
Thing is I do not want the ball to jump more than once. (i.e. If the ball is in mid-air I do not want it to be jumped again when tapping the screen.)
Is there a way to know when an object is in mid-air ?
Is there a common solution to this problem ?
Thanks
You can raycast from the center of the ball, downwards. If it collides with anything at a distance greater than the ball’s radius, that means it is in the air.
To raycast, check chapter 10 in the manual here:
http://box2d.org/manual.pdf
It’s in c++ but you should find similar examples in objective-c.
Hope it helps.