10. Timer

Mit Timern kannst du Ereignisse **zeitgesteuert ausführen. Wenn du z.B. möchtest dass eine Aktion nicht sofort, sondern mit einigen Millisekunden oder Sekunden Verzögerung eintritt, dann kannst du einen Timer verwenden.

::important Python bietet auch in der library time die Funktion `time.sleep(…) an. Diese solltest du allerdings nicht benutzen, da die globale Verzögerung zu Seiteneffekten führen kann. ::

10.1. Einen Timer starten

Einen Timer kannst du z.B. so starten:

miniworldmaker.ActionTimer(24, player.move)

Die Funktion erhält 3 Argumente: (1) Nach 24 Frames wird die Funktion (2) player.move ausgeführt.

10.1.1. Timer

Es gibt verschiedene Arten von Timer:

10.1.1.1. ActionTimer

Der ActionTimer ruft nach einer vorgegebenen Zeit eine Methode mit Argumenten auf und entfernt sich danach selbst.

miniworldmaker.ActionTimer(24, player.move, None)

10.1.1.2. LoopActionTimer

Der LoopActionTimer macht das gleiche wie der Actiontimer, allerdings wird die Aktion mit gleichen Abständen immer wieder wiederholt. Wenn diese Schleife enden soll, muss der Timer gelöscht werden:

10.1.1.2.1. LoopActionTimer erstellen
loopactiontimer = miniworldmaker.LoopActionTimer(24, player.move)
10.1.1.2.2. LoopActionTimer löschen
loopactiontimer.unregister()