CocosCreator - modulares Lernskript

CocosCreator - modulares Lernskript

Modulares Cocos Creator-Skript

Mit Cocos Creator können Sie Ihren Code in mehrere Skriptdateien aufteilen und diese sich gegenseitig aufrufen lassen. Dieser Schritt wird einfach Modularisierung genannt.

Durch die Modularität können Sie auf andere Skriptdateien in Cocos Creator verweisen:

  • Aus anderen Dateien exportierte Zugriffsparameter
  • Aufrufen anderer Dateiexportmethoden
  • Andere Dateiexporttypen verwenden
  • Andere Komponenten verwenden oder übernehmen

JavaScript in Cocos Creator verwendet CommonJS-Standards, die fast dieselben sind wie Node.js, um Modularität zu erreichen. Kurz gesagt:

  • Jede einzelne Skriptdatei stellt ein Modul dar
  • Jedes Modul ist ein separater Bereich
  • Verwenden Sie die synchrone require-Methode, um auf andere Module zu verweisen
  • Setzen Sie module.exports auf die exportierte Variable

Wenn Sie eine Komponente in einem Skript deklarieren, exportiert Creator sie standardmäßig und andere Skripte können diese Komponente verwenden, indem sie dieses Modul direkt anfordern.

// Rotieren.js

cc.Klasse({
   erweitert: cc.Component,
   // ...
}); SinRotate.js
// SinRotate.js

var Rotate = require("Drehen");

var SinRotate = cc.Klasse({
    erweitert: Drehen,
    aktualisieren: Funktion (dt) {
        diese.Rotation += diese.Geschwindigkeit * Math.sin(dt);
    }
});

Module können nicht nur Komponenten definieren, sondern Sie können tatsächlich jedes JavaScript-Objekt exportieren. Angenommen, es gibt ein Skript config.js :

// config.js – v2

var cfg = {
    Bewegungsgeschwindigkeit: 10,
    Version: "0.15",
    showTutorial: true,

    laden: Funktion () {
        // ...
    }
};
cfg.load();

modul.exports = cfg;

Wenn wir nun von einem anderen Skript aus auf das CFG-Objekt zugreifen möchten:

// Spieler.js

var config = require("Konfiguration");
cc.log("Geschwindigkeit ist", config.moveSpeed);

Der Standardwert von module.exports ist:
Wenn Ihr module.exports keine Definition hat, legt Creator exports automatisch auf die im Skript definierte Komponente fest. Wenn das Skript keine Komponente, sondern einen anderen CCClass-Typ definiert, werden exports automatisch auf die definierte CCClass eingestellt.

Variablen exportieren

module.exports ist standardmäßig ein leeres Objekt ( {} ) und Sie können ihm direkt neue Felder hinzufügen.

// foobar.js:

  modul.exports.foo = Funktion () {
      cc.log("foo");
  };
  modul.exports.bar = Funktion () {
      cc.log("Bar");
  };
//test.js:

  var foobar = erforderlich("foobar");
  foobar.foo(); // "foo"
  foobar.bar(); // "Leiste"

Der Wert von module.exports kann jeder beliebige JavaScript-Typ sein.

// foobar.js:

  modul.exporte = {
      FOO: Funktion () {
          dieser.Typ = "foo";
      },
      bar: "Bar"
  };
//test.js:

  var foobar = erforderlich("foobar");
  var foo = neues foobar.FOO();
  cc.log(foo.Typ); // "foo"
  cc.log(foobar.bar); // "Leiste"

Oben finden Sie ausführliche Informationen zum Erlernen modularer Skripte in CocosCreator. Weitere Informationen zu modularen Skripten von CocosCreator 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
  • Detaillierte Erklärung zur Verwendung mehrerer Timer in CocosCreator
  • 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

<<:  Tutorial zur Installation von lamp-php7.0 in einer Centos7.4-Umgebung

>>:  Detaillierte Analyse der SQL-Ausführungsschritte

Artikel empfehlen

Ist MySQL eine relationale Datenbank?

MySQL ist ein relationales Datenbankverwaltungssy...

Docker-Image-Optimierung (von 1,16 GB auf 22,4 MB)

Inhaltsverzeichnis Der erste Schritt der Optimier...

So ändern Sie das MySQL-Datenbankdateiverzeichnis in Ubuntu

Vorwort Der Ubuntu-Server des Unternehmens platzi...

Detaillierte Erläuterung der MySQL-Lösung zur USE DB-Überlastung

Wenn wir auf einen Fehler stoßen, denken wir oft ...

Mehrere Möglichkeiten zur Implementierung eines 0-ms-Verzögerungstimers in js

Inhaltsverzeichnis WarteschlangeMikrotask asynchr...

Ein wenig bekanntes JS-Problem: [] == ![] ist wahr, aber {} == !{} ist falsch

konsole.log( [] == ![] ) // wahr console.log( {} ...

Reacts Übergang von Klassen zu Hooks

Inhaltsverzeichnis ReagierenHooks Vorwort WarumHo...

W3C Tutorial (8): W3C XML Schema Aktivitäten

XML Schema ist eine XML-basierte Alternative zu D...

So binden Sie einen Docker-Container an eine externe IP und einen externen Port

Docker ermöglicht die Bereitstellung von Netzwerk...