Zähler zurücksetzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
sleepyy
User
Beiträge: 14
Registriert: Dienstag 13. Oktober 2020, 13:03

aber das war doch bei "leavingTime" auch nicht der Fall oder? Hab das dann weiter oben bei global mit angefügt, das selbe würde ich dann auch mit "penaltyTime" machen.
Habs jetzt trotzdem mal unter outOfTrack geschrieben und gleich null gesetzt.
Scheit soweit alles zu funktionieren! Gefällt mir sehr gut! Vielen vielen dank soweit!
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Wenn man nicht neben dem Kurs anfängt, kommt "leavingTime" das erste Mal ins Spiel, wenn man die Strecke verlässt. Also die erste Bedingung wahr ist. Somit ist sie bekannt, wenn man wieder zurück auf die Strecke kommt.
Das ist bei penaltyTime nicht so.
sleepyy
User
Beiträge: 14
Registriert: Dienstag 13. Oktober 2020, 13:03

Jap, hab ich jetzt auch verstanden! Würde ich penaltyTime anfangs nicht auf 0 setzen, hätte die ja keinen Wert. Somit kann auch nie das Event getriggert werden richtig?
Jetzt geb ich penaltyTime = 0, dann hat der nen Wert mit dem er arbeiten kann und somit kann ich auch eine Strafe bekommen. Dann macht er mir penaltyTime = currentTime und setzt mir so die aktuelle Systemzeit rein um die Bedingung zu prüfen. Was passiert dann (nur zum Verständnis für mich)? Setzt sich penaltyTime wieder gleich null nach der Bedingung? Oder bleibt currentTime drin "gespeichert", bis wieder erneut penaltyTime = currentTime ausgeführt wird?
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Deine erste Annahme ist nicht richtig. Es kommt zu einem Fehler, wenn versucht wird auf eine Variable zuzugreifen, die es (noch) nicht gibt.

Wenn du penaltyTime den Wert '0' gibst, dann ist die Differenz zwischen der aktuellen Zeit und penaltyTime auf jeden Fall so groß, dass sie größer ist als 2. Also ist die letzte Strafe schon länger als 2 Sekunden her (es gab nämlich noch keine).
Variablen nehmen nicht automagisch Werte an. Die muss man ihnen zuweisen. Also bleibt der Wert von currentTime darin "gespeichert".
sleepyy
User
Beiträge: 14
Registriert: Dienstag 13. Oktober 2020, 13:03

Okay, wieder was gelernt. Vielen vielen dank nochmal für die ganze Hilfe und die Erklärungen! So macht das doch Spaß! :)
Antworten