The game loop
So, what is a game loop anyway? Almost every live drawing, graphics-based app, and game has a game loop. Even games that you might not expect, such as turn-based games, still need to synchronize player input with drawing and AI, while following the rules of the underlying OS.
There is a constant need to update the objects in the app, such as by moving them and drawing everything in its current position while simultaneously responding to user input:
Our game loop comprises three main phases:
Update all game and drawing objects by moving them, detecting collisions, and processing the AI, such as 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
function for handling this part of the loop. This suggests that we will have a function to do all the updating as well. We will soon code the outline of an update
function. In addition, we know that...