PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB.NET] Tasten feststellen



dlite
24.06.2009, 17:22
So ich habe mir als Ziel gesetzt, das Spiel Pong zu programmieren. Ihr kennt es vll noch, dieses Spiel mit den 2 Balken und dem Ball^^.

Mein Problem jetzt ist es: Wie kann ich feststellen, welche taste gedrückt worden ist. Kommt in dem Punkt der Steuerung mit den Pfeiltasten zur verwendung.
Danke für eure Antworten. (Wenn jemand nen Link zum Punk bei Galileocomputing hat kann den pls auch posten)

inmate
24.06.2009, 22:15
Mit der API GetAsyncKeyState

mfG

Steav
25.06.2009, 13:39
Mit der API GetAsyncKeyState

mfG


Mit GetAsyncKeyState müsst er ja ne While-Schleife haben wo er abfragt und je nach Geschwindigkeit in der die Tasten gedrückt werden könnten ggf. Sogar Tastendrücke verloren gehen....


Also wenn ich die Erklärung des Fragestellers nicht falsch verstanden habe würde ich hier eher zu Hooks greifen.

dlite
27.06.2009, 22:35
könnte mir jemand dazu nen codeschnipsel geben? mit den google ergebnissen, unter denen auch dieses keyasync drunter war, konnte ich nichts anfangen, bzw. es funktionierte schlichteinfach nicht.

Wäre vll noch zu erwähnen dass es VB.NET 2008 Express ist.



Public Class Form1

Private Sub Panel1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Panel1.KeyPress
If Asc(e.KeyChar) = 40 Then
Panel1.Location = New Point(1, 1)
End If
End Sub
End Class
Das war mein letzter versuch, ohne dieses keyasync. Dabei hat er aber nicht beim drücken der DOWN Pfeiltaste wie es das script beschreibt, das panel1 an die position 1,1 gesetzt. Es passiert einfach nichts