Mehr als 2 Tastenklicks abfangen und auswerten...
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von VincentTB.
-
-
Ich meine das man die Tastenklicks mit der Windows-Api filtern und blockieren kann.
Das mit dem Rectangle ist möglich, du must dir halt einfach mal die Graphics Klasse ankucken da gibt es auch die Funktion RotateTransform.
Hier ist ein Beispiel Code :
EDIT //
GetAsyncKeyState ist wohl das was du suchst
MFG BlackNetworkBitMFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadiseDieser Beitrag wurde bereits 3 mal editiert, zuletzt von „BlackNetworkBit“ ()
-
-
Naja das wäre eben mit GetAsyncKeyState möglich must halt nur eine if-verschachtelung basteln
z.b :
MFG BlackNetworkBitMFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
-
enIking1998 schrieb:
Ohh ...
Das ist doch ekelig... soviele If-Schleifen...
Mfg.eniking1998
Wirklich ... if-Schleifen ... WIRKLICH
anders geht es nicht
MFG BlackNetworkBitMFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
Gibst doch bestimmt Möglichkeiten mit dem KeyDown_Ereigniss...
Oder ist es nur mit If + GetKeyAsynchState... möglich?
Und if-schleife.de/
Mfg.eniking1998 -
naja nicht wen du mit Booleans arbeiten wilst da gibt es bekantlich nur 2 Werte Wahr und Falsch.
also kein Select Case Block.
/edit ich hasse es wenn leute ihre Post tod editieren.....
MFG BlackNetworkBitMFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
Ich hab mir überlegt, eine globale Deklaration, an Booleans anzulegen, nun meine Frage,
im KeyDown_Ereigniss kann ich es ja mitSelect Case e.KeyCode
lösen...
Kann ich nun das soweit modifizieren, dass wenn Space zB True und D = True ist, dieses gleichzeitig ausgeführt wird?
Also zur Theorie, bzw. Idee...
Ich will ein Kampfsystem dem Game implementieren...
Dabei soll, zB D laufen sein...
Man soll ebend mehrere Tasten GLEICHZEITIG drücken können...
Mfg.eniking1998 -
Ich bitte dich inständig mache das ganz mit GetKeyAsynchState oder nur mit dem KeyDown_Ereigniss.
Beides ergibt nur murks und Facepalms wenn jemand sich deinen Quellcode ankuckt.
PS Habe dir oben doch schon eine Lösung präsentiert.
MFG BlackNetworkBitMFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
-
MFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
-
... ernsthaft ?
wirklich ? ich habe dir doch geschrieben das du es einsetzten kannst wenn es dir nicht gefällt dann kannst du ja nach einer anderen Lösung suchen ....
indirekt ist es ja wie dein tolles KeyDown_event bloß das man mit GetAsyncKeyState eben mehrere Tasten abfragen kann.
ich glaube du solltest erst mal hier : Toller Link
rein schauen so das du weist was ich meine(falls ich mich so unverständlich ausgedrückt habe ...)
MFG BlackNetwokBitMFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
VB.NET-Quellcode
- Public Class Form1
- Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- If My.Computer.Keyboard.CtrlKeyDown = True And GetAsyncKeyState(Keys.F1) = -32767 Then
- MessageBox.Show("STRG und F1 wurde gedrückt")
- End If
- End Sub
- End Class
ODER !!!
VB.NET-Quellcode
- Option Strict On
- Public Class Form1
- Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- If CBool(CShort(My.Computer.Keyboard.CtrlKeyDown = True) And GetAsyncKeyState(Keys.F1) And CShort(GetAsyncKeyState(Keys.F2) = -32767)) Then
- MessageBox.Show("STRG und F1 + F2 wurde gedrückt")
- End If
- 'oder
- If CBool(GetAsyncKeyState(Keys.A)) AndAlso CBool(CBool(GetAsyncKeyState(Keys.B)) AndAlso CBool(GetAsyncKeyState(Keys.C))) Then
- MsgBox("Gedrückt")
- End If
- End Sub
- End Class
und um das ganze diagonal zu bewegen ,sagen wir wenn a+b gedrückt geh rechts und hoch .
so hab ich es bei einer form mal gemacht ging ganz gut !
Private Sub Form_nach_rechts()
x = x + 1
Me.Location = New Point(x, y)
End Sub
Private Sub Form_nach_links()
x = x - 1
Me.Location = New Point(x, y)
End Sub
Private Sub Form_nach_oben()
y = y - 1
Me.Location = New Point(x, y)
End Sub
Private Sub Form_nach_unten()
y = y + 1
Me.Location = New Point(x, y)
End Sub
LG AndreDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TVX“ ()
-
-
Tags
-
Ähnliche Themen
-
Torty H - - Sonstige Problemstellungen
-
Morifize - - Sonstige Problemstellungen
-
Hastling - - Sonstige Problemstellungen
-
3 Benutzer haben hier geschrieben
- Gast (8)
- BlackNetworkBit (7)
- VincentTB (1)