Warten in c# unity?
Hallo habe ein unity script geschrieben indem eine While Schleife ist die jede Sekunde mit debug.Log(„Hallo Welt“); etwas in der Konsole ausgibt soweit so gut Problem als ich das laufen lassen hab is unity abgeschmiert weil es zu oft eine Ausgabe gemacht hat wenn ich jetzt aber mir alle 5 Sekunden hallo Welt ausgeben möchte was muss ich verändern?
ps in Python musste ich immer einfach vor das debug.Log Sleep(5) schrieben gibt es so etwas Ähnliches in c# ?
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Unity
Hi!
Du hast zwei Möglichkeiten, dass zu machen:
Möglichkeit 1: via Update
public float Delay = 5f; // Wie lange zwischen dem Auslösen der Funktion gewartet werden soll
private float _delayCounter;
private void Update() {
_delayCounter += Time.deltaTime;
if (_delayCounter >= Delay) {
Debug.Log("Hallo Welt");
_delayCounter = 0;
}
}
Möglichkeit 2: via Coroutine
public float Delay = 5f;
private void Start() {
StartCoroutine(LogSomething());
}
private IEnumerator LogSomething() {
while (true) {
Debug.Log("Hallo Welt");
yield return new WaitForSecondsRealtime(Delay);
}
}
Woher ich das weiß:Berufserfahrung