Zitat von
Nils_13:
Allgemein schon viel besser, thx. Nur was verstehst du unter genauerem Timer ? Wo krieg ich einen her ?
Nun der Standardtimer hat nur eine Auflösung von 50ms und deshalb sehr ungenau. Zum Beispiel ist bei DelphiX ein Timer dabei, der genauer sein soll. Aber mir kam ja nach dem Beitrag noch ne andere Variante. Du kannst ja die Abfrage in deiner Spielschleife machen (Stichwort: Zeitabhängige Bewegungen). Solltest ja genug dazu im Forum hier finden. Du misst mit
QueryPerformanceCounter zwischen zwei Abfragen und anhand derer erhöhst / verringerst du LeftP. Also zum Beispiel:
Das Raumschiff bewegt sich in 1s um 1 Feld (LeftP+1). Durch die Zeitmessung stellst du jetzt fest, dass seid dem letzten durchlauf 10ms vergangen sind. Also würdest du LeftP nur um 0.01 erhöhen. Bei 20ms dann entsprechend 0.02.
QueryPerformanceCounter sollte man deshalb nehmen, weil dieser schon sehr genau ist. Auf jeden Fall wesentlich genauer als GetTickCount.