Ideal zum Lernen:
Kurs als Videos
Video-Kurs HTML5, CSS
& Webdesign
HTML-Kurs, CSS u. Webdesign lernen & die eigene Website erstellen
Videos eBook Forum Kontakt

setTimeout – Ausführung einer Funktion nach festgelegter Zeit

Über setTimeout() kann eine Funktion nach einer voreingestellten Zeit ausgeführt werden. Dies ist im Vergleich zu setInterval() eine einmalige Aktion. Trotzdem wird dies in der Programmierung allgemein und in der Spieleprogrammierung benötigt. Aber erst einmal zum grundsätzlichen Aufbau des JavaScript-Befehls:

Der Aufbau der Funktion setTimeout()

setTimeout(Funktionsaufruf, ZeitpunktInMillisekunden)

Wir rufen mit der Funktion setTimeout() eine von uns bestimmte andere Funktion nach einem von uns vergebenen Zeitablauf auf.

Dieser Funktionsaufruf kann auch als anonyme Funktion gestaltet sein – was das genau ist, wird später gezeigt – erst ist das Verständnis und Ablauf von setTimeout() wichtig.

Die Angabe der Zeit erfolgt in Millisekunden. Dabei entspricht 1 Sekunden 1000 Millisekunden. Wollen wir also, dass etwas nach 1 ½ Sekunden gestartet wird, geben wir hier 1500 an.

let anzeigeTastaturshortcuts 
       = setTimeout (TastaturshortcutsEinblenden, 1500);
function TastaturshortcutsEinblenden () {
    document.getElementById("tastaturshortcuts").innerHTML = "Anleitung");
}

Bei der Programmierung eines Spieles könnte man zum Beispiel automatisch nach einer bestimmten Zeit, in der ein Spieler am Anfang untätig ist einfach die Spielanleitung einblenden.

Auch hier kann man eine anonyme Funktion nutzen. Anstelle des aufrufenden Funktionsnamens wird gleich die Funktion innerhalb des setTimeout-Aufrufs integriert.

Uns Beispielcode von oben sieht dann wie folgt aus:

let anzeigeTastaturshortcuts = setTimeout (
    TastaturshortcutsEinblenden, 
    1500
) ;
function TastaturshortcutsEinblenden () {
    document.getElementById("tastaturshortcuts").innerHTML = "Anleitung");
}

Und jetzt das Zusammenpacken beider Bereiche in einen Bereich:

let anzeigeTastaturshortcuts = setTimeout (
   function () {
     document.getElementById("tastaturshortcuts").innerHTML = "Anleitung");
   }, 
   1500
) ;

Hier ist nun um so wichtiger, dass man den Aufruf auch im Vorfeld wieder abschalten kann, falls er nicht benötigt wird. In unserem obigen Beispiel brauchen wir keine Einblendung der Shortcuts, wenn der Spieler einfach anfängt zu spielen. Denn dann kennt er offensichtlich bereits sich im Spiel aus und benötigt keine Shortcuts.

clearTimeout – gesetzte Aktion vorab unterbinden

Wir können auch eine geplante Ausführung eines setTimeout() wieder löschen. Dies geschieht über clearTimeout(). Uns obiges Beispiel würde z.B. nach dem ersten nutzen der Tastatur durch den Spieler dann folgende Zeilen ausführen:

clearTimeout(anzeigeTastaturshortcuts);

Weiterempfehlen • Social Bookmarks • Vielen Dank

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

unsere Videos bestellen

Unsere Videos und eBooks bestellen.

Spenden

Sie können uns eine Spende über PayPal zukommen lassen.

Weiterempfehlungen

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Bücher über Amazon

Bestellen Sie Bücher über folgende Links bei Amazon:

Vielen Dank für Ihre Hilfe

    E-Books zum Kurs

    von HTML-Seminar.de

    E-Books mit rund 930 Seiten Umfang als PDF. Alle 3 zu einem Preis.

    Mehr Details