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

So erkennen Sie die Dateisystemintegrität basierend auf AIDE in Linux

1. HILFE AIDE (Advanced Intrusion Detection Envir...

React-Implementierungsbeispiel mit Amap (react-amap)

Die PC-Version von React wurde für die Verwendung...

js-Entwicklungs-Plugin zum Erzielen eines Tab-Effekts

In diesem Artikelbeispiel wird der spezifische Co...

Die einfachste Formularimplementierung des Flexbox-Layouts

Flexibles Layout (Flexbox) erfreut sich zunehmend...

Tipps zum Implementieren mehrerer Rahmen in CSS

1. Mehrere Grenzen[1] Hintergrund: Box-Shadow, Um...

Eine Sammlung gängiger Verwendungen von HTML-Meta-Tags

Was ist ein Mata-Tag? Das <meta>-Element li...

Beispiel für die Bereitstellung einer Laravel-Anwendung mit Docker

Das in diesem Artikel verwendete PHP-Basisimage i...

So erstellen Sie https mit Nginx und dem kostenlosen Tencent Cloud-Zertifikat

Ich habe gelernt, wie man https bekommt. Kürzlich...

Detaillierte Erklärung der Rolle von Explain in MySQL

1. MySQL-Index Index: Eine Datenstruktur, die MyS...

So starten/stoppen Sie den Tomcat-Server in Java

1. Projektstruktur 2. Rufen Sie Tomcat.java auf P...

So migrieren Sie das Datenverzeichnis in mysql8.0.20

Das Standardspeicherverzeichnis von MySQL ist /va...