Hey, liebes VB-Paradise-Forum (:
Ich habe ein Problem bei einem einfachen Pong-Spiel, das ich programmiere.
Ein ähnliches Spiel habe ich bereits einmal mit Java programmiert, mit einem ähnlichen Problem, das auch mein Informatiklehrer mir nicht lösen konnte (war einfach so eine kleine Sache, die ich außerschulisch mal programmiert hatte).
Es geht darum, dass wenn einer der beiden Spieler seinen Pong bewegt, der andere seinen nicht mehr bewegen kann - das Programm liest immer nur einen der beiden Tastenanschlägen aus.
Das ganze habe ich dann mit folgendem Code versucht zu lösen:
Spoiler anzeigen
Das ganze macht also nichts anderes als:
Pfeilhoch = rechter Pong hoch
Pfeilrunter = rechter Pong runter
W = linker Pong hoch
S = linker Pong runter
Der Code funktioniert jedoch nicht ganz... naja - okay, er funktioniert überhaupt nicht ^^
Funktion CompKey ist hier:
Die CompKey-Abfrage scheint ganz gut zu funktionieren, da es bei einem einzelnen Befehl, wie zB
alles richtig läuft.
Kombiniert man jedoch die Abfragen, dann funktionert nichts - ich hoffe das liegt nicht daran, dass ich die kopierte Methode CompKey, einfach ganz dreist kopiert und hingenommen habe ^^
Was ich einfach will, ist, dass das Programm erkennt, wenn man zwei Tasten gleichzeitig herunterdrückt, und zwar auch, welche das sind ^^
Kann mir jemand einen Tipp geben? ^^ Mein Lehrer meinte damals, das läge am Tastaturpuffer...
MfG
LevelXProject
Ich habe ein Problem bei einem einfachen Pong-Spiel, das ich programmiere.
Ein ähnliches Spiel habe ich bereits einmal mit Java programmiert, mit einem ähnlichen Problem, das auch mein Informatiklehrer mir nicht lösen konnte (war einfach so eine kleine Sache, die ich außerschulisch mal programmiert hatte).
Es geht darum, dass wenn einer der beiden Spieler seinen Pong bewegt, der andere seinen nicht mehr bewegen kann - das Programm liest immer nur einen der beiden Tastenanschlägen aus.
Das ganze habe ich dann mit folgendem Code versucht zu lösen:
VB.NET-Quellcode
- Private Sub StartButton_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles StartButton.KeyDown
- 'KeyDown = 40
- 'KeyUp = 38
- 'S = 83
- 'W = 87
- If CompKey(40) And CompKey(83) Then
- rightDown()
- leftDown()
- Else
- If CompKey(40) And CompKey(87) Then
- rightDown()
- leftUp()
- Else
- If CompKey(38) And CompKey(83) Then
- rightUp()
- leftDown()
- Else
- If CompKey(38) And CompKey(87) Then
- rightUp()
- leftUp()
- Else
- If CompKey(40) Then
- rightDown()
- End If
- If CompKey(38) Then
- rightUp()
- End If
- If CompKey(83) Then
- leftDown()
- End If
- If CompKey(87) Then
- leftUp()
- End If
- End If
- End If
- End If
- End If
- End Sub
Das ganze macht also nichts anderes als:
Pfeilhoch = rechter Pong hoch
Pfeilrunter = rechter Pong runter
W = linker Pong hoch
S = linker Pong runter
Der Code funktioniert jedoch nicht ganz... naja - okay, er funktioniert überhaupt nicht ^^
Funktion CompKey ist hier:
Die CompKey-Abfrage scheint ganz gut zu funktionieren, da es bei einem einzelnen Befehl, wie zB
alles richtig läuft.
Kombiniert man jedoch die Abfragen, dann funktionert nichts - ich hoffe das liegt nicht daran, dass ich die kopierte Methode CompKey, einfach ganz dreist kopiert und hingenommen habe ^^
Was ich einfach will, ist, dass das Programm erkennt, wenn man zwei Tasten gleichzeitig herunterdrückt, und zwar auch, welche das sind ^^
Kann mir jemand einen Tipp geben? ^^ Mein Lehrer meinte damals, das läge am Tastaturpuffer...
MfG
LevelXProject
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LevelXProject“ ()