Using the Joystick module
The joystick (shown in Figure 3-4)is a two-axis joystick combined with a switch, which is activated when the joystick button itself is pressed. We will not be using the joystick’s button; we will just use the readings of the joystick on the x axis.
Figure 3-4. Joystick
At any time, your program can ask for the position of the joystick’s
position by calling GetJoystickPostion
on the joystick
variable. This call
returns an instance of Joystick.Position
. As in the case of this game,
we are only interested in the “x” position of the joystick, we use the
following:
double x = joystick.GetJoystickPostion().X;
This returns a number between 0.0 and 1.0, where 0.0 is far left, 1.0 far right and, yes, you guessed it, 0.5 is in the middle.
In this game, we will not use the absolute position of the joystick to set the position of the tongue but rather determine if the joystick is towards the left, towards the right, or in the middle.
The method to do this is as follows:
void JoystickTimer_Tick(GT.Timer timer) { double x = joystick.GetJoystickPostion().X; if (x < 0.3 && tongueLeftPosition > 0) { tongueLeftPosition -= 5; } else if (x > 0.7 && tongueLeftPosition < 320 - tongueWidth) { tongueLeftPosition += 5; } Canvas.SetLeft(tongue, tongueLeftPosition); CheckForLanding(); }
We just test to see if the x position is less than 0.3 and if it is, assume that we want to move left. Similarly, ...
Get Getting Started with .NET Gadgeteer now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.