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, drawing everything in its current position at the same time as responding to user input. A diagram might help:
Our game loop comprises three main phases:
- Update all game/drawing objects by moving them, detecting collisions, and processing AI such as the particle movements and state changes.
- Based on the just-updated data, 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 the updating as...