So verwenden Sie CocosCreator zum Erstellen eines Schießspiels

So verwenden Sie CocosCreator zum Erstellen eines Schießspiels

Analysieren Sie die Produktionsschritte:

1. Ressourcen vorbereiten und Szene erstellen

Sie können Ressourcen online finden oder meine verwenden. Erstellen Sie einen Ordner und legen Sie die Ressourcen im Ordner „res“ ab.

Erstellen Sie die Szene:
Schritt 1: Erstellen Sie einen einfarbigen Sprite-Hintergrund (Skript), legen Sie die Farbe fest und fügen Sie eine Widget-Komponente hinzu, damit er den Bildschirm ausfüllt.

Schritt 2: Erstellen Sie top und button leere Knoten als obere und untere unter dem bg Knoten und fügen Sie dann Dornknoten zu den beiden leeren Knoten hinzu (ziehen Sie das Bild einfach in den obersten Hierarchiemanager). Jetzt müssen wir top與button Knoten eine Layout組件hinzufügen und die Eigenschaften wie in der Abbildung gezeigt festlegen. Auf diese Weise können Sie sehen, dass sich oben und unten auf dem Bildschirm Dornen befinden.

Schritt 3: Fügen Sie der Szene auf die gleiche Weise Spieler, Kugeln und feindliche Flugzeuge hinzu, erstellen Sie einen Label-Knoten zur Anzeige des Punktestands und passen Sie die Position an;

2. Code steuert das Spiel

Schritt 1: Erstellen Sie ein game und mounten Sie es auf dg -Knoten;

Schritt 2: Bearbeiten Sie den Code und fügen Sie in properties Eigenschaften hinzu, um die Knoten Spieler, Kugel und Feind zu verknüpfen, und ordnen Sie sie dann im Editor zu.

Schritt 3: Steuerung der Codelogik, einschließlich Initialisierung von Spielern, Kugeln, Feinden; Registrieren von Überwachungsereignissen; Schreiben von Aktionsfunktionen; Wertungsbeurteilung usw.;

Vollständiger Code:

cc.Klasse({
    erweitert: cc.Component,

    Eigenschaften:
        Spielerknoten: cc.Node,
        Feindknoten: cc.Node,
        Feuerknoten: cc.Node,
        Punktestand: cc.Label,
    },
    
     beim Laden () {
        dies.playLoad();
        dies.fireLoad();
        dies.enemyLoad();
         dies.node.on("touchstart",dieses.fire,dieses);
         
     },

     update (dt) {
          wenn (Math.abs(this.fireNode.y-this.enemyNode.y)<(this.fireNode.height/3+this.enemyNode.height/3)
            &&Math.abs(dieser.fireNode.x-dieser.enemyNode.x)<(dieser.fireNode.width/3+dieser.enemyNode.width/3)){
              console.log("Besiege das feindliche Flugzeug");
              this.scoreNode.string= ++this.score; //Trefferpunktzahl this.fireNode.stopAction(this.fireAction);
            dieser.enemyNode.stopAction(diese.enemyAction);
            dies.enemyNode.active=false;
            dies.fireNode.active=false;
            this.fireLoad();//Kugeln initialisieren this.enemyLoad();//Feindliche Flugzeuge initialisieren}

     },

     // Ereignisüberwachung schließen onDestroy(){
        dies.node.off("touchstart",dieses.fire,dieses);
     },
    // Anfänglicher Spieler playLoad(){
        dies.score=0;
        dieser.playerNode.y=-cc.winSize.height/4;
        
    },
    //Bullet fireLoad() initialisieren{
        dies.fireNode.active=true;
        dies.isFire=false;
        dieser.fireNode.x=dieser.playerNode.x;
        dieser.Feuerknoten.y=dieser.Spielerknoten.y+dieser.Spielerknoten.Höhe;
    },
    // Initialisiere den Feind enemyLoad(){
        dieser.enemyNode.active=true;
        this.enemyNode.x=Math.random()* cc.winSize.width;
        dieser.Feindknoten.y=cc.winSize.height/3;
        sei x = cc.winSize.width/2-this.enemyNode.width/2;
        sei y=Math.random()* cc.winSize.height/4;
        Lassen Sie seq = cc.repeatForever (cc.sequence (cc.moveTo (1,5, cc.v2 (-x, y)), cc.moveTo (1,5, cc.v2 (x, y))));
        
        diese.enemyAction = diese.enemyNode.runAction (seq);
    },
    //Lade das Spiel bei Tod neu, Dear(){
        console.log("Tod");
        cc.director.loadScene("Spielszenen");
    },


    // Feuer, Kugel, Feuer(){
         wenn(dies.istFeuer) return;
         dies.isFire=true;
        console.log("Starten");
         var Feueraktion = cc.sequence(
             cc.moveTo(1,cc.v2(dieser.playerNode.x,cc.winSize.height/2)),
             cc.callFunc(()=>{
                dies.lieb();
            }));
        diese.fireAction = diese.fireNode.runAction(fireaction);
        console.log("Ende des Starts");
     }

});

Endergebnis

Oben finden Sie Einzelheiten zur Verwendung von CocosCreator zur Realisierung von Schießspielen. Weitere Informationen zur Realisierung von Schießspielen mit 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
  • Organisieren Sie die allgemeinen Wissenspunkte von CocosCreator
  • Umfassende Erklärung zum CocosCreator Hot Update
  • CocosCreator klassisches Einstiegsprojekt flappybird
  • CocosCreator Universal Framework Design Network
  • So verwenden Sie einen Gamecontroller in CocosCreator

<<:  Anwendungsbeispiele für die try_files-Direktive von Nginx

>>:  So vermeiden Sie die URL-Zeitzonenfalle in MySQL

Artikel empfehlen

Tutorial zur Installation, Bereitstellung und Verwaltung von KVM-Virtualisierung

Inhaltsverzeichnis 1.kvm-Bereitstellung 1.1 KVM-I...

Detaillierte Erklärung der Bedeutung von N und M im MySQL-Datentyp DECIMAL(N,M)

Ein Kollege fragte mich, was N und M im MySQL-Dat...

Allgemeine Tags in XHTML

Was sind XHTML-Tags? XHTML-Tag-Elemente sind die ...

Kurze Analyse von CentOS 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar

Baidu Cloud-Festplatte: Link: https://pan.baidu.c...

JavaScript zur Implementierung der mobilen Signaturfunktion

In diesem Artikel wird der spezifische JavaScript...

Teilen Sie 20 hervorragende Beispiele für Webformular-Design

Sophie Hardach Kai von Clyde Quay 37 Ost Seifenkis...

Zusammenfassung der MySQL-Funktionsmethode LOAD_FILE()

In MySQL liest die Funktion LOAD_FILE() eine Date...

Detaillierte Beispiele zur Ajax-Verwendung in js und jQuery

Inhaltsverzeichnis Natives JS So senden Sie eine ...

Detaillierte Erläuterung der Verarbeitung der drei Docker Nginx-Protokolle

Da die Kollegen im Unternehmen die Standardausgab...

Detaillierte Erklärung zum Schreiben und Verwenden von Makefile unter Linux

Inhaltsverzeichnis Makefile Makefile-Benennung un...

So konvertieren Sie eine Zeichenfolge in JavaScript in eine Zahl

Inhaltsverzeichnis 1.parseInt(Zeichenfolge, Basis...