Detaillierte Erklärung zur Verwendung mehrerer Timer in CocosCreator

Detaillierte Erklärung zur Verwendung mehrerer Timer in CocosCreator

1. setTimeOut

Drucken Sie abc nach 3 Sekunden. Nur einmal ausführen.

setTimeout(()=>{console.log("abc"); }, 3000);

Löschen Sie den Timer und abc wird nach 3 Sekunden nicht mehr ausgegeben.

lass Zeitindex;
ZeitIndex = setTimeout(()=>{console.log("abc"); }, 3000);
clearTimeout(Zeitindex);

setTimeout wird wie folgt geschrieben, die Ausgabe in der Testfunktion ist das Fensterobjekt

@ccklasse
exportiere Standardklasse Helloworld erweitert cc.Component {
 
    privat a = 1;
 
    Start() {
        setTimeout(diesen.test, 3000);
    }
 
    privater Test () {
        console.log(this.a); //Ausgabe undefiniert
        console.log(dieses); //Fenster
    }
}

Verwenden von Pfeilfunktionen

@ccklasse
exportiere Standardklasse Helloworld erweitert cc.Component {
 
    privat a = 1;
 
    Start() {
        setTimeout(()=>{diesen.test()}, 3000);
    }
 
    privater Test () {
        console.log(this.a); //Ausgabe 1
        console.log(dies); //Hallo Welt
    }
}

2. Intervall festlegen

Geben Sie nach 1 Sekunde abc aus. Wiederholen Sie den Vorgang und geben Sie jede Sekunde abc aus.

setInterval(()=>{console.log("abc"); }, 1000);

Löschen Sie den Timer und abc wird nicht mehr ausgegeben.

lass Zeitindex;
ZeitIndex = setInterval(()=>{console.log("abc"); }, 1000);
clearInterval(Zeitindex);

Zeitplan

Jede geerbte cc.Component hat diesen Timer

Zeitplan (Rückruf: Funktion, Intervall?: Zahl, Wiederholung?: Zahl, Verzögerung?: Zahl): ungültig;

Nach einer Verzögerung von 3 Sekunden wird abc ausgegeben, und dann wird abc jede Sekunde ausgegeben und 5 Mal wiederholt. Die endgültige Ausgabe lautet also 5+1 mal abc.

dies.schedule(()=>{console.log("abc")},1,5,3);

Zeitplan löschen (wenn Sie diesen löschen möchten, können Sie keine anonymen Funktionen mehr nutzen, Sie müssen auf die zu löschende Funktion zugreifen können)

private Anzahl = 1;
 
Start() {
     
    dieser.Zeitplan(dieser.Test,1,5,3);
 
    dies.unschedule(diesen.test);
}
 
privater Test () {
    Konsole.log(dieser.Anzahl);
}

Globaler Zeitplan

Es entspricht einem globalen Timer auf cc.director. Beachten Sie, dass enableForTarget() aufgerufen werden muss, um die ID zu registrieren, andernfalls wird ein Fehler gemeldet.

Start() {
    let scheduler:cc.Scheduler = cc.director.getScheduler();
    scheduler.enableForTarget(dies);
    //Nach einer Verzögerung von 3 Sekunden 1 ausgeben und dann alle 1 Sekunde 1 ausgeben, 3-mal wiederholen. Es werden insgesamt 1+3 Ausgaben ausgegeben: scheduler.schedule(this.test1, this, 1, 3,3, false);
    //Nach einer Verzögerung von 3 Sekunden 1 ausgeben und dann alle 1 Sekunde 1 ausgeben, unendlich wiederholend scheduler.schedule(this.test2, this, 1, cc.macro.REPEAT_FOREVER,3, false);
}
 
privater test1(){
    Konsole.log("test1");
}
 
private test2(){
    console.log("test2");
}
//Den Timer löschen scheduler.unschedule(this.test1, this);

Oben finden Sie eine ausführliche Erklärung zur Verwendung mehrerer Timer in CocosCreator. Weitere Informationen zu CocosCreator-Timern finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Unity3D realisiert die Bewegung des Kameraobjektivs und begrenzt den Winkel
  • CocosCreator - modulares Lernskript
  • So verwenden Sie Verbindungen der Physik-Engine in CocosCreator
  • So verwenden Sie die JSZip-Komprimierung in CocosCreator
  • CocosCreator-Tutorial für den Einstieg: Erstellen Sie Ihr erstes Spiel mit TS
  • Interpretation des CocosCreator-Quellcodes: Engine-Start und Hauptschleife
  • CocosCreator allgemeines Framework-Design Ressourcenmanagement
  • So erstellen Sie eine Liste in CocosCreator
  • So verwenden Sie http und WebSocket in CocosCreator
  • Analyse des neuen Ressourcenmanagementsystems von CocosCreator
  • So verwenden Sie cc.follow zur Kameraverfolgung in CocosCreator

<<:  Detaillierte Analyse der SQL-Ausführungsschritte

>>:  Nginx-Zugriffssteuerungs- und Parameteroptimierungsmethoden

Artikel empfehlen

Podman bootet den Container automatisch und vergleicht ihn mit Docker

Inhaltsverzeichnis 1. Einführung in Podman 2. Vor...

Zusammenfassung einiger gängiger Techniken in der Front-End-Entwicklung

1. So zeigen Sie das Datum rechts in der Artikelti...

So zeigen Sie Linux-SSH-Dienstinformationen und den Ausführungsstatus an

Es gibt viele Artikel zur SSH-Serverkonfiguration...

Detailliertes Tutorial zur Installation von Prometheus mit Docker

Inhaltsverzeichnis 1. Node Exporter installieren ...

Implementierung der Nginx-Arbeitsprozessschleife

Nach dem Start initialisiert der Worker-Prozess z...

Eine detaillierte Einführung in den wget-Befehl in Linux

Inhaltsverzeichnis Installieren Sie zuerst wget H...

Anwendung von Ankerpunkten in HTML

Ankerpunkt festlegen <a name="nach oben&qu...

Vue implementiert das Hinzufügen, Anzeigen und Löschen mehrerer Bilder

In diesem Artikel wird der spezifische Code für V...

Lösung zur Codeaufteilung im Vue-Projekt

Inhaltsverzeichnis Hintergrund Zweck Vor der Spal...

Detaillierte Erklärung zum Aktivieren des https-Dienstes in Apache unter Linux

Dieser Artikel beschreibt, wie man den https-Dien...

Anweisungen zur verschachtelten Verwendung von MySQL ifnull

Verschachtelte Verwendung von MySQL ifnull Ich ha...