Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Problem mit Schläger beim Pong Spiel

  Alt 17. Mär 2007, 22:00
Jetzt verstehe ich dein Problem! Bei dir klappt es nicht, dass sich Schläger 1 und 2 gleichzeitig bewegen lassen.

Das könntest du leicht über einen Timer (Intervall max. 50) lösen:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if getAsyncKeyState(65) < 0 then // a
    Schlaeger1.Top := Schlaeger1.Top + 20
  else if getAsyncKeyState(81) < 0 then // q
    Schlaeger1.Top := Schlaeger1.Top - 20;
  if GetAsyncKeyState(vk_up) < 0 then // arrow up
    Schlaeger2.Top := Schlaeger2.Top - 20
  else if GetAsyncKeyState(vk_down) < 0 then // arrow down
    Schlaeger2.Top := Schlaeger2.Top + 20
end;
Nur kann es dabei vorkommen, dass bei einem Tastendruck der Schläger um 2 Einheiten bewegt wird bzw. bei zu kurzem Druck gar nicht. Nur wie man das am gescheitesten löst, kann ich dir nicht sagen. Natürlich könnte man das in einen Thread auslagern, doch das halte ich fast für etwas overkilled.
  Mit Zitat antworten Zitat