The game loop
What is a game loop, anyway? Almost every live drawing/graphics/game has a game loop. Even games you might suspect do not, such as turn-based games, still need to synchronize player input with drawing and AI, while following the rules of the underlying operating system.
There is a constant need to update the objects in the app, perhaps by moving them. You need to draw everything in its current position at the same time as responding to user input. A diagram might help:
Our game loop is comprised of three main phases:
- Update all game/drawing objects by moving them, detecting collisions, and processing the artificial intelligence like the particle movements and state changes.
- Based on the data that has just been updated, draw the frame of animation in its latest state.
- Respond to screen touches from the user.
We already have a draw
method for handling that part of the loop. This suggests that we will have a method to do all of the updating as well. We will soon code the outline of...