Organisieren Sie die allgemeinen Wissenspunkte von CocosCreator

Organisieren Sie die allgemeinen Wissenspunkte von CocosCreator

1. Szene laden

  • cc.director.loadScene('Szenenname');//Szenensprung
  • cc.director.preloadScene('Szenenname');//Szene vorladen
  • cc.director.getScene(); //Die aktuelle Szene abrufen

2. Knoten suchen

1. Knotensuche

  • node = cc.find("Canvas/bg"); //Der Leistungsverbrauch des Pfadzugriffsknotens ist relativ groß
  • this.node.getChildByName('name'); //Das Abrufen von untergeordneten Knoten nach Namen verbraucht weniger Leistung
  • node.getComponent(cc.Label) //Den Label-Attributwert des Knotens abrufen
  • this.node; //Aktueller Skriptknoten
  • this.node.parent; //übergeordneter Knoten
  • this.node.getChildByTag(100); //Untergeordnete Knoten per Tag abrufen
  • cc.find("game/test",this.node); //Holen Sie sich den Knoten über den Pfad unter dem angegebenen Knoten
  • this.node.children; //Alle untergeordneten Knoten abrufen
  • node.getChildren(); //Alle untergeordneten Knoten abrufen
  • this.node.childrenCount; //Anzahl der untergeordneten Knoten abrufen
  • node.getChildrenCount(); //Anzahl der untergeordneten Knoten abrufen
  • cc.director.getScene(); //Holen Sie sich den Hauptknoten der Szene
  • var sprites = this.node.getComponentsInChildren(cc.Label); //Rekursiv nach Komponenten des angegebenen Typs in sich selbst und allen untergeordneten Knoten suchen

2. Andere Knotenoperationen

  • cc.instantiate(node);//Knoten klonen
  • this.node.parent = cc.find('Canvas'); //Übergeordneten Knoten binden
  • this.node.addChild(nodeName,zIndex,tag); //Untergeordnete Knoten hinzufügen, Sie können die Ebene und das Tag festlegen
  • this.node.removeChild(nodeName); //Untergeordneten Knoten entfernen
  • this.node.removeChildByTag (nodeTag); //Untergeordnete Knoten per Tag entfernen
  • this.node.destroy();//Zerstöre den Knoten
  • this.node.isValid; //Bestimmen Sie, ob der Knoten verfügbar ist
  • this.node.removeChild(newNode); //Entfernen Sie den angegebenen untergeordneten Knoten im Knoten
  • this.node.removeChildByTag(100); //Entfernt den angegebenen untergeordneten Knoten im Knoten nach Tag
  • this.node.removeAllChildren(); //Alle untergeordneten Knoten entfernen
  • this.node.destroyAllChildren(); //Alle untergeordneten Knoten zerstören

3. Stoppen Sie die Wiedergabeaktion und den Timer

this.node.cleanup(); //Stoppt alle Wiedergabeaktionen und Timer

3. Knotenattributeinstellungen

  • node.getPositionX(); oder getPositionY() //X-Achsen- oder Y-Achsen-Koordinate
  • node.getScaleX(); oder getScaleY() //Skalierung der X-Achse oder Y-Achse
  • node.x = 100; //Setze die Koordinate der x-Achse des Knotens
  • node.y = 100; //Setze die Y-Achsenkoordinate des Knotens
  • node.setPosition(x,y); //Knotenkoordinaten festlegen
  • node.rotation = 90; //Den Knotenrotationswinkel festlegen
  • node.scaleX = 2; //Skalierungsfaktor für die x-Achse des Knotens festlegen
  • node.scaleY = 2; //Skalierungsfaktor für die Y-Achse des Knotens festlegen
  • node.setScale(2); //Den Gesamtskalierungsfaktor des Knotens festlegen
  • node.width = 100; //Knotenbreite festlegen
  • node.height = 100; //Knotenhöhe festlegen
  • node.setContentSize(100, 100); //Breite und Höhe des Knotens festlegen
  • node.anchorX = 1; //Setzen Sie die Koordinaten des Ankerpunkts der Knoten-X-Achse
  • node.anchorY = 0; //Setze die Ankerpunktkoordinaten der Knoten-Y-Achse
  • node.setAnchorPoint(1, 0); //Setze die Koordinaten des Knotenankerpunkts
  • node.opacity = 255; //Knotentransparenz festlegen (0-255)
  • node.setOpacity(20); //Knotentransparenz festlegen (0~255)
  • node.color = new cc.color(100,100,100,255); //Knotenfarbe festlegen (R, G, B, Transparenz)
  • cc.isValid(this.label.node) //Feststellen, ob der Knoten existiert
  • node.active = false; //Knoten schließen (Knoten ausblenden)

Residenter Knoten

  • cc.game.addPersistRootNode(myNode); //Permanenter Knoten (globale Variable)
  • cc.game.removePersistRootNode(myNode); //Den residenten Knoten abbrechen

4. Knotenaktion

  • cc.show()//Sofort anzeigen
  • cc.hide () //Sofort ausblenden
  • cc.toggleVisibility()//Zwischen Sichtbarkeit und Ausblenden wechseln
  • cc.fadeIn(1) //Einblendeffekt
  • cc.fadeOut(1) // Ausblendeffekt
  • cc.delayTime(1) //1 Sekunde warten
  • node.runAction(cc.moveTo(1,0,0)); //Zum aktuellen Knoten wechseln (Zeit (s), X-Achsen-Koordinate, Y-Achsen-Koordinate)
  • node.runAction(cc.scaleTo(1,0.7,0.8)); //Auf den aktuellen Mehrfachknoten skalieren (Zeit (s), Mehrfaches der X-Achse, Mehrfaches der Y-Achse)
  • node.runAction(cc.rotateTo(1,160,160)); //Um den angegebenen Winkel drehen (Zeit (s), X-Achsenwinkel, Y-Achsenwinkel)
  • node.runAction(cc.skewTo(1,5,-5)); //Knotenneigung ändern (Zeit (s), Neigung der X-Achse, Neigung der Y-Achse)
  • node.runAction(cc.fadeTo(2,0)); //Transparenz des aktuellen Knotens ändern (Zeit (s), Transparenz)
  • node.runAction(cc.tintTo(2,255,255,0)); //Ändere die aktuelle Knotenfarbe (Zeit, R, G, B)
  • node.stopAllActions(); //Alle Aktionen stoppen
  • var action = cc.moveTo(2, 100, 100); // Eine Aktion erstellen (moveTo bedeutet verschieben)
  • node.runAction(action); // Führe die angegebene Aktion aus
  • node.stopAction(action); // Stoppen Sie die angegebene Aktion
  • cc.sequence(action1,action2); //Nacheinander ausführen
  • cc.spawn(action1, action2); //Gleichzeitig ausführen
  • cc.repeatForever(cc.sequence(action1,action2)); //Wiederholte Aktion

5. Zeitgeber

Start() {
        // Geplanter Start // Start nach 2S this.scheduleOnce(() => {
            cc.log("Einmal planen")
        }, 2)

        // Frequenz + 1 Verzögerung this.schedule(() => {
            cc.log("Zeitplan")
        }, 1, 3, 5)

        // Endlos ausführen let one = this.schedule(() => {
            cc.log("Zeitplan")
        }, 1, cc.macro.REPEAT_FOREVER, 2)


        // Alle Zeitpläne löschen this.scheduleOnce(() => {
            cc.log("Einmal planen")
            this.unscheduleAllCallbacks()
        }, 5)

        lass callb = funktion () {
            cc.log("Aufruf")
        }
        this.schedule(callb, 0.5) //Standardmäßig wird es für immer ausgeführt this.scheduleOnce(() => {
            cc.log("Einmal planen")
            dies.unschedule(callb)
        }, 2)
    },

6. Ereignisüberwachung

(Start: „touchstart“, Bewegung: „touchmove“, Ende: „touchend“, Abbrechen: „touchcancel“)

node.on('touchstart',Funktion(Ereignis){
	dies.machEtwas();
},Das);
  • event.getID(); //Holen Sie sich die ID des Kontakts
  • event.getLocationX(); //Holen Sie sich die Koordinate X des Berührungspunkts
  • event.getLocationY(); //Y-Koordinate des Berührungspunkts abrufen
cc.eventManager.addListener({
	Ereignis: cc.EventListener.KEYBOARD/TOUCH_ONE_BY_ONE,meineFunktion},self.node);

7. Definieren Sie globale Variablen

window.global = "blobal string"; //Globale Variablen können in jedem Skript definiert werden

Fenster.G = {
	a: null,
	b: null,
};

Auf globale Variablen kann in jedem Skript zugegriffen werden (vorausgesetzt das Skript wurde ausgeführt)
Ga = 0;
Gb = 0;

var etwas = erfordere('etwas');
cc.game.addPersistRootNode(myNode); //Permanenter Knoten, muss sich am Stammknoten der Hierarchie befindenmodule.exports = {
     Konfiguration: 123
}

8. Auflösung

Geräteauflösung abrufen

  • var Ausrüstung = cc.director.getWinSizeInPixels()
  • var AusrüstungW = Ausrüstung.Breite
  • var AusrüstungH = Ausrüstungshöhe
  • cc.view.getCanvasSize().width; //Breite der Geräteauflösung abrufen
  • cc.view.getCanvasSize().height; //Höhe der Geräteauflösung abrufen
  • cc.director.setDisplayStats(true);//Frame-Informationen anzeigen

9. Audiosteuerung

cc.audioEngine.playMusic(this.BGAudio,true);//Musik abspielen (echte Schleife)
cc.audioEngine.stopMusic()//Wiedergabe stoppen
cc.audioEngine.playEffect(this.ClickAudio,false);//Soundeffekt abspielen (false bedeutet nur einmal abspielen)
cc.audioEngine.stopEffect(Name der Soundeffekt-Variable); //Stoppt den angegebenen Soundeffekt (der Soundeffekt muss zuerst der Variable zugewiesen werden)
cc.audioEngine.AllEffects(); //Alle Soundeffekte stoppen
cc.audioEngine.setMusicVolume(Parameter); //Lautstärke der Hintergrundmusik einstellen (Bereich ist 0 bis 1)
cc.audioEngine.setEffectsVolume(Parameter); //Lautstärke der Soundeffekte einstellen (Bereich ist 0 bis 1)

10. Beurteilung der Ausrüstung

  • cc.sys.isNative //Ist es lokal?
  • cc.sys.isBrowser //Ist das eine Webseite?
  • cc.sys.isMobile //Ist es ein mobiles System?
  • cc.sys.platform //Die laufende Plattform
  • cc.sys.language //Die Sprache des aktuell laufenden Systems
  • cc.sys.os //Derzeit laufendes System
  • cc.sys.OS_IOS //Ist es ein IOS-System?
  • cc.sys.OS_ANDROID //Ist es ein Android-System?
  • cc.sys.OS_WINDOWS //Ist es ein Windows-System?
  • cc.sys.openURL('Http://www.baidu.com'); //Öffne die Webseite

11. Abhören und Aussenden von Ereignissen

  • this.node.pauseSystemEvents(true);//Knotensystemereignisse anhalten
  • this.node.resumeSystemEvents(true);//Knotensystemereignisse fortsetzen
  • this.node.targetOff(this); //Alle registrierten Ereignisse entfernen

1. Berührungsüberwachung

Starten Sie 'touchstart'.
Bewegen Sie „touchmove“,
Ende 'touchend',
Abbrechen 'touchcancel'

  • var pos = event.getLocation(); //Holen Sie sich die Koordinaten des Berührungspunkts (einschließlich X und Y)
  • var x = event.getLocationX(); //Holen Sie sich die X-Koordinate des Berührungspunkts
  • var y = event.getLocationY(); //Y-Koordinate des Berührungspunkts abrufen
  • var a = event.getID(); //Holen Sie sich die ID des Kontakts

2. Mausüberwachung

Maus nach unten 'mousedown',
Gehen Sie zum Knoten 'mouseenter',
Bewegen Sie sich im Knoten 'mousemove',
Entfernen Sie den Knoten 'mouseleave,
‚Lassen Sie die Maustaste los‘mouseup‘

  • event.getScrollY(); //Ermittelt den Abstand der Y-Achse des Scrollrads, nur gültig beim Scrollen
  • event.getLocation(); //Holen Sie sich das Mauspositionsobjekt, das die x- und y-Attribute enthält

3. Eingabefeldüberwachung

Fokus 'Bearbeitung hat begonnen' erhalten,
Textänderungen 'text-changed',
Fokus 'Bearbeiten-ist-beendet' verloren,
Drücken Sie „Bearbeiten-Return“.

4. Überwachung von Immobilienänderungen

Position 'Position geändert',
Breite und Höhe 'Größe geändert',
Rotationsänderung,
'Maßstab geändert'

5. Überwachung der ScrollView-Steuerung

'Scrollen',
Scrollen beenden 'scroll-ended'

6. Benutzerdefinierte Ereignisse

Hören: this.node.on("benutzerdefinierter Ereignisname", function(target), this);

  • this.node.on('Ereignisname',Funktion,dies);//Listener registrieren
  • this.node.emit('Ereignisname'); //Überwachungsübertragung senden
  • this.node.off('Ereignisname',Funktion,diese);//Überwachung schließen

Selbstübermittlung: emit("Ereignisname", [Detail]); nur Sie können es empfangen

beim Laden: Funktion () {
        // Empfänger // Ereignistyp, bei dem es sich um eine benutzerdefinierte Zeichenfolge handelt;
        // Rückruffunktion: Funktion (e) {} e--> cc.Event.EventCustom-Instanz this.node.on("pkg_event", Funktion (e) {
            console.log("pkg_event", e);
        }, Das);
        // Der Dispatcher kann es nur an sich selbst weitergeben und gibt es nicht nach oben weiter this.node.emit("pkg_event", { name: "hanbao" });
    },

Blasenlieferung: dispatchEvent(new cc.Event.EventCustom("Name", ob Blasenlieferung erfolgen soll));

beim Laden: Funktion () {
        // Empfänger // Ereignistyp, bei dem es sich um eine benutzerdefinierte Zeichenfolge handelt;
        // Rückruffunktion: Funktion (e) {} e--> cc.Event.EventCustom-Instanz this.node.on("pkg_event", Funktion (e) {
            console.log("pkg_event", e.detail);
        }, Das);
    },
    Start: Funktion () {
        this.node.emit("pkg_event", { name: "hanbao" }); //Dies wird einmal an Sie selbst gesendet// //Dies wird an das globale System gesendet;
        // true/false, true wird nach oben weitergegeben, false wird nicht nach oben weitergegeben var e = new cc.Event.EventCustom("pkg_event", true);
        e.detail = { Name: "haobao" };
        dies.node.dispatchEvent(e);  
    },

Auffüllen:

  • cc.director.pause();//Pause
  • cc.director.resume();//Weiter
  • cc.director.end();//Die gesamte Anwendung beenden
  • node.getLocalZOrder(); //Ebenenerfassung
  • node.setLocalZOrder(1); //Ebenenwechsel
  • cc.find('canvas/map' + num) //Pfad mit Variablen lesen

Oben finden Sie den detaillierten Inhalt der häufig verwendeten Wissenspunkte von CocosCreator. Weitere Informationen zu den Wissenspunkten von CocosCreator finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des Cocoscreater-Prefabs
  • So verwenden Sie residente Knoten für die Ebenenverwaltung in CocosCreator
  • So verwenden Sie CocosCreator zur Tonverarbeitung bei der Spieleentwicklung
  • CocosCreator ScrollView-Optimierungsreihe: Frame-Laden
  • Detaillierte Erläuterung des CocosCreator-Projektstrukturmechanismus
  • So verwenden Sie den CocosCreator-Objektpool
  • So zeigen Sie in CocosCreator eine Textur an der Wischposition an
  • Umfassende Erklärung zum CocosCreator Hot Update
  • CocosCreator klassisches Einstiegsprojekt flappybird
  • CocosCreator Universal Framework Design Network
  • So verwenden Sie CocosCreator zum Erstellen eines Schießspiels
  • So verwenden Sie einen Gamecontroller in CocosCreator

<<:  Zusammenfassung der Probleme bei der Installation von MySQL 5.7.19 unter Linux

>>:  Detaillierte Erklärung zur Verwendung des Linux-Befehls mpstat

Artikel empfehlen

Beitrag zur Übermittlung von HTML-Daten_PowerNode Java Academy

Zu den vom HTTP/1.1-Protokoll angegebenen HTTP-An...

Tomcat-Konfiguration und wie man ihn in Eclipse startet

Inhaltsverzeichnis So installieren und konfigurie...

Richtige Verwendung der Vue-Funktion Anti-Shake und Throttling

Vorwort 1. Entprellen: Nach dem Auslösen eines Ho...

Neue Funktionen von JS ES: Einführung in Erweiterungsoperatoren

1. Spread-Operator Der Spread-Operator besteht au...

So importieren Sie CSS-Stile in externe HTML-Stylesheets

Der Link-In-Stil besteht darin, alle Stile in ein...

Implementierung von MySQL Select in der Unterabfrageoptimierung

Die folgende Demonstration basiert auf MySQL Vers...

Detaillierte Erklärung des Linux Namespace-Benutzers

Der Benutzer-Namespace ist ein neuer Namespace, d...

Docker stellt MySQL bereit, um Beispielcode für eine Remoteverbindung zu erreichen

1. Docker durchsucht MySQL查看mysql版本 2. Docker Pul...

Detaillierte Verwendung von Echarts in vue2 vue3

Inhaltsverzeichnis 1. Installation 2. Verwenden S...

Eine kurze Analyse des Reaktionsprinzips und der Unterschiede von Vue2.0/3.0

Vorwort Seit der offiziellen Einführung von vue3....

Detailliertes Installationstutorial für Zabbix 4.04 (basierend auf CentOS 7.6)

1. Vorbereitung vor der Installation: 1.1 JDK ins...

So kapseln Sie die Rich-Text-Komponente von WangEditor in Angular

Die Rich-Text-Komponente ist eine sehr häufig ver...