Einzelnen Beitrag anzeigen

Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Habe Probleme mit Timer-Events (besonders auf modernen P

  Alt 14. Mär 2007, 21:45
Ganz wichtig ist eigentlich dieser Teil daraus für dich :
Zitat:
Timer und Spiele
Nun möchte ich noch kurz zu einem Spezialfall bei Spielen eingehen. Hat zwar nur am Rande was mit Timern zu tun passt meiner Meinung nach aber auch zum Thema. Wenn man Figuren oder vergleichbares bewegen will könnte man ja auf die Idee kommen das in einem Timer zu machen. Also pro Timer Durchlauf z.B.: inc(Figur.left) oder ähnliches. Das Problem ist nun das man sich nie sicher sein kann, dass das Ontimer event auch aufgerufen wird so das es dazu kommen kann, dass das Spiel auf unterschiedlichen Rechnern unterschiedlich schnell läuft. Als Lösung bietet sich an dem Objekt eine Geschwindigkeit zuzuordnen z.B.: 100 Pixel in der Sekunde. Dann muss nur noch die Zeit die Seit dem letzten Timer Durchlauf vergangen ist ermittelt werden. (Stichwort Uptime) Jetzt kann man auch die Strecke berechnen die das Objekt zurückgelegt hat. ( v=s/t ) Das Spiel sollte jetzt auf allen Rechner gleich schnell laufen es kann nur sein, dass es auf manchen (alten) Rechnern ruckelt.
Eigentlich sollte dein Spiel nicht auf 25FPS angewiesen sein. Dort solltest du am besten ansetzen und das beheben Der Timer ist eben wie beschrieben zu ungenau, um ein solches Spiel so zu lösen. Am besten ist es wirklich, die Differenzzeit zwischen 2 Frames auszurechnen und mit dieser Zeit das Spielgeschehen zu berechen.
  Mit Zitat antworten Zitat