Well what I like to do is have a "gravity" variable to calculate upwards force. So when you hit "a" gravity is set to 5 or so. Then every frame you go up 5, but each frame that you're not on the ground, gravity goes down .2 or so down into the negatives. It requires ground detection, and idk the best way to do that.