Summary
This was probably the most technical chapter so far. Threads, game loops, timing try
and catch
blocks, using interfaces, the activity lifecycle, and so on… that's an awfully long list of topics to cram into a chapter. If the exact interrelationships between these things are not entirely clear, it is not a problem. All you need to know is that when the player starts and stops the game, the PongActivity
class will handle starting and stopping the thread by calling the PongGame
class's pause
and resume
methods. It achieves this via the overridden onPause
and onResume
methods, which are called by the operating system.
Once the thread is running, the code inside the run
method executes alongside the user interface thread that is listening for player input. Once we call the update
and draw
methods from the run
method, at the same time as keeping track of how long each frame is taking, our game is ready to rock and roll. We just need to add some game objects to...