Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#6

AW: Image bewegen, sleep funktion, wettrennen

  Alt 14. Mai 2019, 10:17
Das Sleep benutzt werden muss (ist 'ne Vorgabe), dürfte ein Timer ausscheiden.
Delphi-Quellcode:
procedure Tform1.Rennen;
var
  iSleep : Integer;
  iRandom : Integer;
begin
  Randomize; // Je nach Delphiversion (insbesondere bei älteren) erforderlich.
             // Sollte aber nur einmal aufgerufen werden, daher ins FormCreate verschieben.
  iSleep := 100; // Wertebereich für die Pausen per Sleep, eventuell anpassen.
                 // Die Pausen werden dadurch unterschiedlich lang.
  iRandom := 5; // Wertebereich für die zufällige Verschiebung der Bilder, eventuell anpassen.
                // Die Anzahl der Pixel, um die verschoben wird, ändert sich je Schleifendurchlauf und je Bild.
  if (Image1.Left < 400) and (Image2.left < 400) and (Image3.left < 400) then begin
    repeat
      Image1.Left := Image1.Left + Random(iRandom);
      Image2.Left := Image2.Left + Random(iRandom);
      Image3.Left := Image3.Left + Random(iRandom);
      Application.ProcessMessages;
      Sleep(Random(iSleep));
    until (Image1.left >= 399) or (Image2.Left >= 399) or (Image3.Left >= 399);
  end;
end;
Nur als Idee hingedaddelt, keine Ahnung, ob sich dadurch was in zielgerichteter Form ändert.

Geändert von Delphi.Narium (14. Mai 2019 um 11:28 Uhr) Grund: Von Moombas gefundenen Fehler korrigiert. (Hatte ihn per Copy&Paste aus dem Eingangspost "vererbert" ;-))
  Mit Zitat antworten Zitat