Game Mechanic Advice

Let me explain my game mechanic, i have a circle, gravity is applied to it and i then use ApplyLinearForce to move it forward on a surface. I also am allowing the ability to jump the circle. this creates the problem that i can jump again or move forward while in the air. As of now i overcame that problem by doing a collision function, saying if circle has collided with the ground, then allow player to move or jump, this works, but it seems like it has flaws to it and the control isnt as good as it could be. can anyone think of a better method to allow the player to only jump and move forward when they are touching the ground?
thanks in advance [import]uid: 19620 topic_id: 5899 reply_id: 305899[/import]