Ich habe eine bestimmte Funktion, die ich in der Update-Funktion aufrufe. Während der ersten zehn Sekunden sollte die Funktion in der Update-Funktion aufgerufen werden, dann sollte sie für die nächsten zwei Sekunden deaktiviert und dann für die nächsten zehn Sekunden erneut aktiviert werden. Dieser Zyklus sollte sich immer wieder wiederholen? Wie kann ich es ausführen?
10
Repeat()
und%
(Modul)? In der Dokumentation heißt es: "Dies ähnelt dem Modulo-Operator, funktioniert jedoch mit Gleitkommazahlen." Der Modul funktioniert jedoch mit Gleitkommazahlen ...%
Operator oft komisch - funktioniert entweder nicht mit Gleitkommazahlen, liefert unerwartete oder völlig falsche Ergebnisse für den Modulbetrieb in seiner mathematischen Bedeutung (was die Hardware-Natur von widerspiegelt die Operation auf ganzen Zahlen).Repeat()
wurde nur als sicherere Option gewählt, um zu vermeiden, dass die genaue Implementierung des%
Operators in C # / mono nachgeschlagen werden muss.Ich habe den folgenden Code nicht getestet, aber Sie werden auf die Idee kommen:
quelle
deltaTime
es relativ kurz ist. Wenn das Delta länger als das ist, schlägtsleepDuration
dies fehl.Sie können dies auch mit einer Coroutine tun. Etwas wie
quelle