I want to implement flight movement for a 3d space game called "Galactic journey". I have the animation and the scenery finished. It is based on the "Galactic journey" screensaver which I have developed:


One example of a flight movement would be this:

Move forwards when pressing the up key and backwards
when pressing the down key.
Spin sideways when pressing the left and right keys.
Spin vertical when pressing two other keys.

Or could the flight movement be implemented in a better way?
I know how to respond to key events and how to rotate using the glRotatef method,but I'm not sure how to implement sideways spinning and vertical spinning. Should this only be implemented with the glRotatef method? Flight movement usually works the same way in most games, so there must be some standard way to solve this. Has anyone got a code example for flight movement?