Frameunabhängig
Übersicht

![]() |
ChristophBetreff: Frameunabhängig |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich will jetzt zum ersten Mal ein frameunabhängiges Programm schreiben (in 3D). Ich habe eine Kamera und ein Flugzeug, deren Geschwindigkeit sich eben an die des Rechners anpasst.
1. Ich habe eine globale Variable Gamespeed#: Diese Var. wird am ende jedes Schleifengangs errechnet. Dabei steht Gamespeed=1 für Normalgeschwindigkeit, während Gamespeed=2 für doppelten Speed steht (also für einen langsameren PC) Code: [AUSKLAPPEN] Gamespeed# = 200/(Schleifenstart-milllisecs())
2. Ich multipliziere die Kamerageschwindigkeit mit Gamespeed#: Dabei ist x#/y#/z# die Zielposition der Kamera. Code: [AUSKLAPPEN] positionentity Cam, entityx(Cam)+(x-Entityx(Cam))*0.1*Gamespeed, entityy(Cam)+(y-Entityy(Cam))*0.1*Gamespeed, entityz(Cam)+(z-Entityz(Cam))*0.1*Gamespeed
3. Ich multipliziere die Flugzeuggeschwindigkeit mit Gamespeed#: Code: [AUSKLAPPEN] moveentity Player[i]\obj, 0,0,Player[i]\speed#*Gamespeed
Trotzdem kommt die Kamera, umso langsamer der PC ist, immer näher an das Flugzeug. Hat jemand einen Verbesserungsvorschlag?/Sieht jemand einen Fehler? |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Indem du die Kamera normal bewegst?
Du errechnest mit sinus und cosinus die Koordinaten, an die die Kamera gesetzt werden soll. DAS kannst du auch frame-unabhängig! |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das will ich aber so nicht.
Muss das irgendwie so hinbekommen. Ich frage mich nur, warum das eine manchmal bewegt wird als das andere. (Sin und cos sind wohl deine Freunde, nicht? ![]() |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Verbesserungsvorschlag:
Floats Bin mir aber nicht sicher, ob das was ändert. Frage: Kannst du bitte den ganzen Code posten? So hat man recht wenig Einsicht auf die hier erwähnten Variablen! Andere Frage: Wieso machst du es dir so verdammt umständlich? Berechnungen sind um ein Vielfaches einfacher und wesentlich präziser, da auf Dauer so immer eine Ungenauigkeit entsteht. Auch Blitz-Floats sind begrenzt! Antwort: Ja, Sinus und Cosinus sind meine Freunde. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group