mercoledì 12 ottobre 2011

Tutorial XNA la gestione delle periferiche

Riporto l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_tutorial-xna-seconda-parte-la-gestione-d_1083.aspx





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.




Nessun commento: