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

Achten Sie bei der Webseitenerstellung auf die Verwendung von HTML-Tags

Dieser Artikel stellt einige Aspekte von HTML-Tag...

Facebooks nahezu perfekte Neugestaltung aller Internetdienste

<br />Originalquelle: http://www.a-xuan.cn/?...

Detaillierte Erklärung der CocosCreator MVC-Architektur

Überblick Dieser Artikel stellt die in Spieleclie...

So verarbeiten Sie lokal dynamisch geladene Bilder in Vue

Finden Sie das Problem Heute bin ich auf ein Prob...

Installieren und konfigurieren Sie SSH in CentOS7

1. Installieren Sie openssh-server yum install -y...

Lösung für den Fehler beim Starten von MySQL

Lösung für den Fehler beim Starten von MySQL MySQ...

Detaillierte Schritte zur Installation von MinIO auf Docker

Inhaltsverzeichnis 1. Überprüfen Sie, ob die Dock...

Acht Hook-Funktionen in der Vue-Lebenszykluskamera

Inhaltsverzeichnis 1. beforeCreate und erstellte ...

JavaScript-Grundlagen: Geltungsbereich

Inhaltsverzeichnis Umfang Globaler Umfang Funktio...

So deinstallieren Sie MySQL vollständig unter CentOS

Dieser Artikel dokumentiert die vollständige Dein...

Das WeChat-Applet realisiert eine Links-Rechts-Verknüpfung

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

Detaillierte Schritte zur Installation von Python 3.7 auf CentOS 6.5

1. Python 3 herunterladen wget https://www.python...

js, um den Popup-Effekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...