Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#36

Re: Snake für die Schule programmieren,Pause;Highscoures ein

  Alt 26. Jun 2006, 16:52
Keine Ahnung ist keine Entschuldigung

In Spielen ist es oft üblich, eine enge Haupt- oder Renderschleife laufen zu lassen, in der alle Stati des Programmes (deshalb auch "Statemachine-Ansatz") überprüft und Aktionen ausgeführt werden:

Delphi-Quellcode:
while not bClose do
  begin
    Application.ProcessMessages; //wenn du mit der VCL und mit Stuerelementen arbeiten willst, musst du hier die WIndows-Nachrichten überprüfen
    if GetAsyncKeyState(VK_LEFT) < 0 then //sollte man natürlich in eine Prozedur / Funktion auslagern
      ....
    Render; //Frame malen
  end;
Ich denke nicht, dass OnKeyDown langsam wäre; OnKeyDown reagiert auf die "WM_KEYDN" (o.ä. ) Windows-Message und sollte über die Form unmittelbar erreicht werden. Dort kannst du dann die Eigenschaft Key überprüfen:

Delphi-Quellcode:
if Key = VK_LEFT then
  ...
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat