Thema: Delphi Input für Spiele?

Einzelnen Beitrag anzeigen

SonicTTH

Registriert seit: 12. Dez 2008
Ort: Rostock
54 Beiträge
 
#5

Re: Input für Spiele?

  Alt 10. Jan 2010, 20:19
Also, ich hab jetzt mal etwas mit der Funktion GetAsyncKeyState ausprobiert und zum test schnell ein programm gemacht das nur einen timer enthält der alle 30ms folgende prozedur aufruft (ME ist ein memo):

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
        ME.Lines[0] := IntToStr(GetAsyncKeyState(VK_LEFT)) ;
        ME.Lines[1] := IntToStr(GetAsyncKeyState(VK_RIGHT)) ;
        ME.Lines[2] := IntToStr(GetAsyncKeyState(VK_UP)) ;
        ME.Lines[3] := IntToStr(GetAsyncKeyState(VK_DOWN)) ;
        ME.Lines[4] := IntToStr(GetAsyncKeyState(VK_Space)) ;
        ME.Lines[5] := IntToStr(GetAsyncKeyState($44)) ;
        ME.Lines[6] := IntToStr(GetAsyncKeyState($41)) ;
        ME.Lines[7] := IntToStr(GetAsyncKeyState($53)) ;
        ME.Lines[8] := IntToStr(GetAsyncKeyState($57)) ;
        ME.Lines[9] := IntToStr(GetAsyncKeyState($51)) ;
end;
Die 5 letzten tasten sind W, A, S, D und Q.
Die Ausgabe sieht (höchstens!) Wie folgt aus (Auch wenn ich alle abgefragten tasten gleichzeitig drücke):

0
-32768
0
-32768
0
-32768
0
-32768
-32768
-32768

Also maximal 6 tasten, wenns gut klappt, manche reihenfolgen bringen aber auch noch weniger tasten die gedrückt werden zum ergebnis.
  Mit Zitat antworten Zitat