Timebased Movement (Erledigt !)
Übersicht

![]() |
Bura.TinoBetreff: Timebased Movement (Erledigt !) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Servus.
Bin grad dabei ein bissl zu proggen und damit das auf allen Rechnern nahezu gleichschnell läuft, hab ich die Bewegung zeitgesteuert gemacht. Ich hab dabei allerdings das Problem, daß sich die Variable 'Zeit' (Float) ständig verändert. Sie liegt bei mir im Schnitt zwischen -7 und +49. Das hat zur Folge, daß sich mein bewegendes Objekt mal ein bissl schneller und mal ein bissl langsamer fortbewegt. Es stockt also. Diese Variable wird wie folgt berechnet: Code: [AUSKLAPPEN] Global Zeit#=0.0 While Not KeyHit(1) Zeit#=(MilliSecs()-Timer#) Timer#=MilliSecs() ;Programmablauf... UpdateWorld RenderWorld Flip Wend Ich hab die Aktualisierung der Variable 'Zeit' testweise auch in die Abfrage für den FPS-Counter eingebaut damit diese nur jede Sekunde aktualisiert wird, aber dann wirds noch schlimmer. Manchmal schleicht das Objekt vor sich hin und im nächsten Augenblick rast es. Genommen habe ich eine Auflösung von 800x600 und 75Hz. Mein Monitor schafft maximal 85Hz, aber da ist es auch nicht anders. Hat jemand eine Idee wieso diese Variable so stark variiert und wie ich das Problem am Besten lösen könnte ? ![]() VG, Bura.Tino |
||
![]() ![]() |
- Zuletzt bearbeitet von Bura.Tino am Mo, Aug 27, 2007 6:45, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Liegt vielleicht an Berechnungsfehlern die mit Floats auftreten können... jedenfalls sollte es funktionieren wenn du einfach Ints verwendest, zumal Millisecs() meines Wissens auch nur Ganzzahlen zurückgibt. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Bura.Tino |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm. Ich hab die mal von Float auf Integer umgestellt und hab das Gefühl, als wär das Ruckeln weg. Kann ich nur nicht ganz verstehen wieso, weil die Floatvariable auch vorher schon keine Kommazahlen geliefert hat, also nach dem Komma waren eh immer Nullen.
Könntest Du das eventuell mal bei Dir am Rechner probieren (Oder jeder andere der das liest) ? Also so quasi als Vor-Vor-Alpha-Versions-Tester. ![]() |
||
![]() ![]() |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das Problem das man häufig vergisst ist das int / int eine intdivision gibt und das resultat darum falsch ist.
Muss dann entweder int / float oder float / int sein damits ne float division ist. vielleicht hat das dein problem ausgelöst. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Bura.Tino |
![]() Antworten mit Zitat ![]() |
---|---|---|
Keine Ahnung ob dem so war. Jedenfalls geht es jetzt und das ist auch gut so. ![]() |
||
![]() ![]() |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group