Game Development Reference
In-Depth Information
Now, let's define an interface that gives us polling access to the touchscreen, the keyboard, and
the accelerometer and that also gives us event-based access to the touchscreen and keyboard
(see Listing 3-1).
Listing 3-1. The Input Interface and the KeyEvent and TouchEvent Classes
package
com.badlogic.androidgames.framework;
import
java.util.List;
public interface
Input {
public static
class
KeyEvent {
public static final
int
KEY_DOWN
= 0;
public static final int
KEY_UP
= 1;
public int
type;
public int
keyCode;
public char
keyChar;
}
public static class
TouchEvent {
public static final int
TOUCH_DOWN
= 0;
public static final int
TOUCH_UP
= 1;
public static final int
TOUCH_DRAGGED
= 2;
public int
type;
public int
x, y;
public int
pointer;
}
public boolean
isKeyPressed(
int
keyCode);
public boolean
isTouchDown(
int
pointer);
public int
getTouchX(
int
pointer);
public int
getTouchY(
int
pointer);
public float
getAccelX();
public float
getAccelY();
public float
getAccelZ();
public
List<KeyEvent> getKeyEvents();
public
List<TouchEvent> getTouchEvents();
}
Our definition is started off by two classes,
KeyEvent
and
TouchEvent
. The
KeyEvent
class defines
constants that encode a
KeyEvent
's type; the
TouchEvent
class does the same. A
KeyEvent