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, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access