Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DelphiX - Animationen auf verschiedenen Rechnern (https://www.delphipraxis.net/15391-delphix-animationen-auf-verschiedenen-rechnern.html)

Yheeky 27. Jan 2004 18:46


DelphiX - Animationen auf verschiedenen Rechnern
 
Hi,

ich habe folgendes Problem. Ich programmiere mit DelphiX eine Oberfläche und starte per Befehl mehrere Animationen. Das ist nicht das Problem an sich, ich habe sie zeitlich perfekt aufeinander abgestimmt. Wenn ich aber jetzt an einen anderen Computer gehe (z.B. an meinen Laptop, der etwas langsamer ist), dann ist alle völlig anders. Die Einstellungen bei AnimSpeed muss ich also irgendwie vom Rechner abhängig machen, aber da auch das Timing nicht stimmt, muss ich wohl auch die FPS berücksichtigen, oder?

Hat da jemand schon Erfahrungen mit dem Thema gemacht?

Gruß Yheeky

Matze 27. Jan 2004 18:52

Re: DelphiX - Animationen auf verschiedenen Rechnern
 
Ich weiß leider nicht, wie's bei DelphiX ist :(

Bei OpenGL ist es aber so, dass man die Geschwindigkeit ,mittels FPS, auf jedem Rechner, gleich setzten kann.

Yheeky 27. Jan 2004 19:20

Re: DelphiX - Animationen auf verschiedenen Rechnern
 
Aha, aber wenn´s Rechner gibt, die diese FPS garnicht erreichen?

Jörn 28. Jan 2004 16:17

Re: DelphiX - Animationen auf verschiedenen Rechnern
 
Ich denke das ist anders gemeint. Wenn sich ein Objekt zB in einer Sekunde um 100 Pixel bewegen soll dann gilt folgendes:

x = x + (100(pixel) * 1000(ms) / fps)

Zumindest in der Theorie sollte das so passen. Ich progge selber nichts wirkliches in der Richtung aber das hab ich mir eben mal zusammengereimt, bitte verbessert mich falls ich komplett falsch liege.

OregonGhost 29. Jan 2004 10:55

Re: DelphiX - Animationen auf verschiedenen Rechnern
 
x := x + BewegungProSekunde * VergangeneZeitInSekunden;

Das ist gewöhnlich einfacher als die FPS mit einzubeziehen, weil du die vergangene Zeit seit dem letzten Frame einfach messen kannst.

Bei sehr geringen Frameraten wirst du feststellen, dass die Kollisionserkennung nicht mehr funktioniert, weil du damit große Sprünge hast, und du musst die Kollisionserkennung daher komplexer machen (den kompletten zurückgelegten Weg miteinbeziehen etc.)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz