Keyboard Input

Keyboard input is handled via the Keyboard class, which is in the Microsoft.XNA.Framework.Input namespace. The Keyboard class has a static method called GetState that retrieves the current state of the keyboard in the form of a KeyboardState structure.

The KeyboardState structure contains three key methods that will give you most of the functionality you'll need, as shown in Table 3-1.

Table 3-1. Key methods in the KeyboardState structure

Method

Description

Keys[] GetPressedKeys( )

Returns an array of keys pressed at the time of the method call

bool IsKeyDown(Keys key)

Returns true or false depending on whether or not the key represented by the parameter is down at the time of the method call

bool IsKeyUp(Keys key)

Returns true or false depending on whether the key represented by the parameter is up at the time of the method call

As an example of the use of the Keyboard class, if you wanted to check to see whether the "A" key was pressed, you'd use the following line of code:

if(Keyboard.GetState(  ).IsKeyDown(Keys.A))
    // BAM!!! A is pressed!

In this game, you'll modify the code to allow the user to control the three rings sprite, moving it up, down, left, or right with the arrow keys.

The three rings sprite is currently hardcoded to be drawn at (0, 0), but to move it around the screen, you'll need to be able to change the position at which you draw the sprite. You'll need to use a Vector2 variable to represent the current position at which to draw the three ...

Get Learning XNA 3.0 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.