Book Image

Learning Java by Building Android Games

By : John Horton
Book Image

Learning Java by Building Android Games

By: John Horton

Overview of this book

Table of Contents (17 chapters)
Learning Java by Building Android Games
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Detecting touches on the screen


In our retro squash game, we will have no UI buttons, so we cannot use the OnClickListener interface and override the onClick method. This is not a problem, however. We will just use another interface to suit our situation. We will use OnTouchListener and override the onTouchEvent method. It works a bit differently, so let's take a look at implementing it before we dive into the game code.

We must implement the OnTouchListener interface for the activity we want to listen to touches in, like this:

public class MainActivity extends Activity implements View.OnTouchListener{

Then we can override the onTouchEvent method, perhaps a bit like this.

@Override
public boolean onTouchEvent(MotionEvent motionEvent) {
  float x = motionEvent.getX();
  float y = motionEvent.getY();
  //do something with the x and y values
  return false;
}

The x variable will hold the horizontal value of the position on the screen that was touched, and y will hold the vertical position. It is...