Tutorial XNA seconda parte la gestione delle periferiche

Tutorial riguardante la possibilità di creare video giochi con la tecnologia XNA. L'articolo riguarda le periferiche hardware.

il
Sviluppatore Microsoft .Net, Collaboratore di IProgrammatori

Introduzione

Continua la serie di articoli dedicati alla programmazione XNA, questa volta, vedremo come utilizzare nelle nostre applicazioni l’input tramite tastiera e tramite mouse.

Stesura di codice

Dopo aver  creato un nuovo gioco, di tipo Windows, per la categoria XNA, in visualizzazione codice posizionatevi nell’evento update, permettendo in questo modo di gestire costantemente le informazioni alla finestra.
Si crea un oggetto di tipo KeyBoardState, e si rileva il valore tramite l'utilizzo del metodo GeTstate della classe Keyboard.
Tramite la proprietà IsKeyDown, si verifica se il tasto digitato corrisponde a F1.
Qui di seguito si riporta un semplice esempio di tale utilizzo:

protected override void Update(GameTime gameTime)
        {
            KeyboardState statoTastiera = Keyboard.GetState();
            if (statoTastiera.IsKeyDown(Keys.F1))
            {
                 this.Window.Title = "F1";
            }
            base.Update(gameTime);
        }


Tramite la classe mousestate e la classe mouse, possiamo gestire anche il click dei pulsante.
Anche in questo caso, si utilizza un oggetto di tipo MouseState, il quale, tramite il metodo GetState, ottiene quale pulsante del mouse è stato digitato.

Qui di seguito, si  riporta un esempio di codice.

protected override void Update(GameTime gameTime)
        {
            MouseState MouseStato = Mouse.GetState();
            if (MouseStato.LeftButton == ButtonState.Pressed)
                this.Window.Title = "Mouse Sinistro";
            else if (MouseStato.RightButton == ButtonState.Pressed)
                this.Window.Title = "Mouse Destro";
             base.Update(gameTime);
        }


Nel caso, che dobbiamo gestire il controller della XBox, possiamo utilizzare le classi gamepadState e gamepad, con il quale possiamo rilevare informazioni utili, come il pulsante digitato, se è connesso ed altro ancora.
L’esempio qui di seguito, illustra, l’utilizzo di tali classi, verificando che se è stato digitato il pulsante back.
GamePadState PadStato = GamePad.GetState(PlayerIndex.One);
            if (PadStato.Buttons.Back == ButtonState.Pressed)
                this.Window.Title = "Button back";

Conclusione

Questo articolo ha fornito al lettore le basi introduttive alla gestione delle periferiche più comuni come tastiera, mouse e pad della console XBox. Il framework XNA, giunto alla versione 4, offre notevoli potenzionalità per gestire queste periferiche.