Einzelnen Beitrag anzeigen

Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Geschwindigkeit bei bewegten Objekten

  Alt 8. Aug 2006, 11:57
Hi!
Ich würde das timer-Intervall nicht ändern, sondern immer bei 13 ms lassen (ca. 75 Hz). Dann kann man große Sprünge auch nicht wahrnehmen, wenn es sie denn geben sollte.
Zur Kollisionsabfrage:
Deine OnTimer-Procedure sieht wahrscheinlich ungefähr so aus:
Delphi-Quellcode:
Ball.Left := Ball.Left + Vektor;
Kollisionsabfrage;
wobei der Vektor dann die die Geschwindigkeit ist. Dabei fliegt der Ball aber, wie bereits von dir erwähnt evtl. direkt ins Objekt hinein. Mach's doch stattdessen so:
Delphi-Quellcode:
For i := 1 to Vektor do begin
  Ball.Left := Ball Left + 1;
  Kollisionsabfrage;
  If Kollision then Break;
end;
Dann fliegt der Ball nämlich nur so lange, bis es eine Kollision gibt.
  Mit Zitat antworten Zitat