O'Reilly logo

Learning XNA 3.0 by Aaron Reed

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required