
Learning Java by Building Android Games
By :

What we need is a way for the GameEngine
class to send touch data to the UIController
class, which we will code later in this chapter, and then (in the next chapter) to the PlayerController
class. We need to separate responsibility for different parts of touch handling because we want UIController
and PlayerController
to be responsible for handling the aspects of control related to them. This makes sense. UIController
knows all about the UI and how to respond, while PlayerController
knows all about controlling the player's spaceship. Putting the GameEngine
class in charge of all such things is bad encapsulation and very hard to achieve anyway.
In the first three projects, our main game engine-like class did handle all the touch data, but the price of that was that each and every object was declared and managed from the game engine-like class. We don't want to do it like that this time. We are moving on to a better encapsulated place. In the Snake...