Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.084 Beiträge
 
Delphi 12 Athens
 
#13

AW: Triple Chance (Walzenspiel aus der Merkur-Spielothek) !NEUES UPDATE!

  Alt 24. Jul 2011, 22:39
Zitat:
imageX.top := imageX.top + 5;
Wenn sich etwas gleichmäßig bewegen soll, dann keine festen Schritte verwenden und nicht einfach annehmen ein Timer würde wimmer regelmäßig/gleichmäßig arbeiten.

ImageX.Top := ImageX.Top + Round(ZeitSeitLetztemSchritt / ZeitProIntervall * SchrittweiteProZeitintervall); .

beim Start Zeit := GetTickCount; setzen und dann
Delphi-Quellcode:
procedure Timer1Timer(...);
var
  Schritt: Integer;
begin
  Schritt := ((GetTickCount - Zeit) * 5) div Timer1.Intervall;
  // eventuell stattdessen mit Runden auf ganze Schritte:
  // Schritt := Max(Round((GetTickCount - Zeit) / Timer1.Intervall), 1) * 5;
  // Schritt := Max((GetTickCount - Zeit + Timer1.Intervall div 2) div Timer1.Intervall, 1) * 5;
  Zeit := GetTickCount;

  ...
  ImageX.Top := ImageX.Top + Schritt;
  ...
end;
Würde jetzt der Timer mal ein paar Intervalle überspringen, würde auch das Bild mitspringen und optisch bleibt es eine gleichmäßige Bewegung, von der Entfernung her.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (24. Jul 2011 um 22:47 Uhr)
  Mit Zitat antworten Zitat