Timing Probleme bei Blitz und Donner :(
Übersicht

BlackErrorBetreff: Timing Probleme bei Blitz und Donner :( |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo zusammen,
Ich bin gerade dabei mir eine kleine düstere Umgebeung zu basteln. Nun bin ich gerade bei den Wettereffekten. Darunter auch Blitz und Donner, die mir im Moment schwierigkeiten bereiten. Ich habe 2 Verschiedene Donnersound, die zu unterschiedlichen zeiten abgespielt werden. Darum natürlich auch 2 Blitze (aufleuchten) -> auch zu unterschiedliche Zeiten (Kurz vor dem Donner) Zu beginn habe ich erstmal diese Variablen erstellt: Code: [AUSKLAPPEN] Last_Thunder% = MilliSecs() ;Donner 1 Last_Thunder2% = MilliSecs() ;Donner 2 Last_Flash% = MilliSecs() ;Anfang Blitz 1 + 2 Flash_Time% = MilliSecs() ;Ende Blitz 1 + 2 Last_Second_Flash% = MilliSecs() ;Anfang Nachblitz 1 + 2 Second_Flash_Time% = MilliSecs() ;Ende Nachblitz 1 + 2 in der Hauptschleife habe ich nun diesen Code Hier: Code: [AUSKLAPPEN] ;Blitz + Donner If MilliSecs() - Last_Flash% > 9000 ;Anfang Blitz 1 AmbientLight 255,255,255 CameraClsColor Cam, 255,255,255 Last_Flash% = MilliSecs() End If If MilliSecs() - Flash_Time% > 9200 ;Ende Blitz 1 AmbientLight 80,80,80 CameraClsColor Cam, 0,0,0 Flash_Time% = MilliSecs() End If If MilliSecs() - Last_Second_Flash% > 9300 ;Anfang Nachblitz 1 AmbientLight 255,255,255 CameraClsColor Cam, 255,255,255 Last_Second_Flash% = MilliSecs() End If If MilliSecs() - Second_Flash_Time% > 9500 ;Ende Nachblitz 1 AmbientLight 80,80,80 CameraClsColor Cam, 0,0,0 Second_Flash_Time% = MilliSecs() End If ;----------------------------------------- If MilliSecs() - Last_Flash% > 19000 ;Anfang Blitz 2 AmbientLight 255,255,255 CameraClsColor Cam, 255,255,255 Last_Flash% = MilliSecs() End If If MilliSecs() - Flash_Time% > 19200 ;Ende Blitz 2 AmbientLight 80,80,80 CameraClsColor Cam, 0,0,0 Flash_Time% = MilliSecs() End If If MilliSecs() - Last_Second_Flash% > 19300 ;Anfang Nachblitz 2 AmbientLight 255,255,255 CameraClsColor Cam, 255,255,255 Last_Second_Flash% = MilliSecs() End If If MilliSecs() - Second_Flash_Time% > 19500 ;Ende Nachblitz 2 AmbientLight 80,80,80 CameraClsColor Cam, 0,0,0 Second_Flash_Time% = MilliSecs() End If ;----------------------------------------- If MilliSecs() - Last_Thunder% > 20000 PlaySound Donner Last_Thunder% = MilliSecs() End If If MilliSecs() - Last_Thunder2% > 10000 PlaySound Donner2 Last_Thunder2% = MilliSecs() End If Jedoch habe ich nun bemerkt, dass sich die Dauer der Blitze und die Abstände der Donner zueinander nach jedem anwenden immer länger wird. Sprich: 1. Blitz dauert 200 millisekunen 2. Blitz dauert z.B. 400 millisekunen Somit gerät nach einigen Blitzen und Donnern der Ganze Zeitablauf aus dem Ruder (Was nachtürlich nicht schön aussieht und sich nicht schön anhört). Meine einzige Vermutung wäre nur, dass es was mit dem waittimer zu tun hat, mit denen ich die FPS eingrenze und so sich jeder schleifendurchlauf bzw. jede Zeitspanne vergrößert. Hoffe auf Antwort Gruss BlackError |
||
![]() |
PSYBetreff: Re: Timing Probleme bei Blitz und Donner :( |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlackError hat Folgendes geschrieben: Meine einzige Vermutung wäre nur, dass es was mit dem waittimer zu tun hat, mit denen ich die FPS eingrenze und so sich jeder schleifendurchlauf bzw. jede Zeitspanne vergrößert. kaum, weil deine blitze ja zeitabhängig sind und nicht fps-abhängig ![]() is doch klar... dein erster blitz kommt nach 9 secs, der nachblitz nach 9,2 der zweite blitz kommt nach 18 secs. und wann ist die zeitspanne zwischen aktueller zeit und letztem nachblitz > 9,2?...wenn die aktuelle (verstrichene) zeit 18,4 ist (18,4 - 9,2 = 9,2).... das bedeutet auf den ersten blitz hast du 9 secs gewartet, auf den ersten nachblitz 9,2 secs auf den zweiten blitz hast du 18 secs gewartet, auf den zweiten nachblitz 18,4 secs (<--- hier sind schon 0.2 secs zuviel). usw.. usw.. du musst das anders lösen ![]() L8er, PSY |
||
BlackError |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hmm, ok, das problem hab ich erkannt.
Jedoch weiss ich nicht, wie ich dieses Problem am besten lösen soll? Hat jemand eine Idee? Hoffe auf Antwort. Gruss BlackError |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sobald der Hauptblitz ausgelöst wird, soll der Nachblitz Millisecs() + EinPaarMillisekunden danach erfolgen. Ist dass Hinweiß genug? | ||
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) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group