Keyhits abfangen
Übersicht

gambleBetreff: Keyhits abfangen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
ist es möglich mit BlitzMax die Tasten "abzufangen", die zum Beispiel in einem Spiel gedrückt wurden ? Ich will so eine Art Musik-Player machen, den man bequem InGame aufrufen etc kann. Geht das mit BlitzMax oder nur mit der WinApi (oder garnicht ?). Danke - gamble |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich würde sagen das geht nur über API weil dein Blitz Fenster
ja kein Focus hat wenn du was anderes spielst . VB6: Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Vieleicht kann du auch nen extra Joystick dafür benutzen . |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das habe ich irgendwie erwartet... hm. | ||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit der oben genannten Funktion würde es doch gehen:
Code: [AUSKLAPPEN] Extern "win32" Function GetAsyncKeyState:Short(vKey:Int) End Extern Print GetAsyncKeyState(5) |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi.
Entweder es geht nicht, oder ich habe in der Verwendung was falsch verstanden: Code: [AUSKLAPPEN] Extern "win32"
Function GetAsyncKeyState:Short(vKey:Int) End Extern Graphics 800,600,0 Local status:Short = 0 Repeat Cls status = GetAsyncKeyState(41) DrawText 0,0,status Flip Until KeyHit(KEY_ESCAPE) Ich kann auf A hämmern wie ich will, da tut sich nichts. |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das geht mit A ![]() Code: [AUSKLAPPEN] Extern "win32" Function GetAsyncKeyState:Short(vKey:Int) End Extern Graphics 800,600,0 Local status:Short = 0 Repeat Cls status = GetAsyncKeyState(65) If status Then Text 0,0,"Jo" Else Text 0,0,"Nix" EndIf Flip Until KeyHit(KEY_ESCAPE) |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Cool, geht sogar ohne Fokus. Danke! ![]() |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
funktioniert soweit prima. Nur: Gibt es ASII Codes für den Numblock ? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zahl ist Zahl. Woher die Zahl kommt ist unbedeutend.
Wenn du da unterscheiden willst, müsstest du eine andere API Funktion nehmen, die auf den Tastatur Scancodes basiert (also den Tasten selbst, nicht den Zeichen darauf) anstelle der Ascii |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei Msdn steht das alle VKeys funktionieren.
http://msdn.microsoft.com/libr...ystate.asp Zitat: VK_NUMPAD0 (60) Numeric keypad 0 key VK_NUMPAD1 (61) Numeric keypad 1 key VK_NUMPAD2 (62) Numeric keypad 2 key VK_NUMPAD3 (63) Numeric keypad 3 key VK_NUMPAD4 (64) Numeric keypad 4 key VK_NUMPAD5 (65) Numeric keypad 5 key VK_NUMPAD6 (66) Numeric keypad 6 key VK_NUMPAD7 (67) Numeric keypad 7 key VK_NUMPAD8 (68) Numeric keypad 8 key VK_NUMPAD9 (69) Numeric keypad 9 key VK_MULTIPLY (6A) Multiply key VK_ADD (6B) Add key VK_SEPARATOR (6C) Separator key VK_SUBTRACT (6D) Subtract key VK_DECIMAL (6E) Decimal key VK_DIVIDE (6F) Divide key Sind Hexwerte, also in Bmax: Code: [AUSKLAPPEN] GetAsyncKeyState($65)
Für Numpad 5 zum Beispiel |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also doch nix mit Ascii, dann habe ich nix gesagt, sorry
PS: Gibt auch ne Funktion die dir sonst den VKey einer Taste ausgibt (oben den Link nehmen und dort die VKey funktion nehmen. müsste halt auch noch im extern eingefügt werden, aber sollte glaub kein allzugrosses problem sein ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke, funktioniert wunderbar ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group