Creare Videogiochi - Game Developer

Versione completa: [VB.NET] Intercettare la pressione di un tasto
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Come faccio a intercettare la pressione di un tasto freccia per compiere un'azione?
Puoi spiegarti meglio?
Allora avevo intenzione di un creare un giochino, per muovere una picturebox avevo intenzione di usare l'evento Key_Press del form.
Scartabellando un po' l'IntelliSense ho scoperto la funzione Me.IsInputKey() dove dentro le parentesi dovevo inserire il tasto che mi serviva.
Ho provato ad utilizzare una dichiarazione If o un ciclo Do per muovere la picturebox in base alla funzione IsIhnputKey, ma la picturebox non si muove.
(19-08-2012, 05:05 PM)MickeyCrashRayman Ha scritto: [ -> ]Allora avevo intenzione di un creare un giochino, per muovere una picturebox avevo intenzione di usare l'evento Key_Press del form.
Scartabellando un po' l'IntelliSense ho scoperto la funzione Me.IsInputKey() dove dentro le parentesi dovevo inserire il tasto che mi serviva.
Ho provato ad utilizzare una dichiarazione If o un ciclo Do per muovere la picturebox in base alla funzione IsIhnputKey, ma la picturebox non si muove.

Non funziona semplicemente perchè:
Citazione:Chiamare il metodo IsInputKey per determinare se il tasto specificato dal parametro keyData è un tasto di input accettato dal controllo. Questo metodo viene chiamato durante la pre-elaborazione dei messaggi per finestre per determinare se il tasto di input specificato deve essere pre-elaborato o inviato direttamente al controllo. Se il metodo IsInputKey restituisce true, il tasto specificato viene inviato direttamente al controllo. Se il metodo IsInputKey restituisce false, il tasto specificato viene pre-elaborato e inviato al controllo solo se non è utilizzato nella fase di pre-elaborazione. I tasti pre-elaborati sono i tasti TAB, INVIO, ESC e i tasti freccia SU, freccia GIÙ, freccia SINISTRA e freccia DESTRA.

Quindi non è quello che serve a te, devi utilizzare l'evento KeyDown o KeyPress
Si, ma come faccio a fare in modo che il tasto che mi dia un particolare risultato sia solo uno? Con l'evento KeyPress mi da lo stesso risultato con tutti i tasti.
Tutto a posto, ho visto nella guida msdn e ho risolto. Appena possibile metterò un tutorial.
devi leggere che tasto è stato premuto... ci sono vari modi, uno di questi è il seguente:

if(e.keycode == keycode.arrowup)

o qualcosa del genere.

la variabile 'e' corrisponde al valore del KeyEventArg
(30-08-2012, 11:32 AM)BassMonsterZ Ha scritto: [ -> ]devi leggere che tasto è stato premuto... ci sono vari modi, uno di questi è il seguente:

if(e.keycode == keycode.arrowup)

o qualcosa del genere.

la variabile 'e' corrisponde al valore del KeyEventArg

Tranquillo, ho già risolto.