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

Detaillierte Erklärung von JavaScript Reduce

Inhaltsverzeichnis Karte Filter manche jeder Inde...

5 Möglichkeiten, Docker-Container auf andere Server zu migrieren

Migration ist in vielen Fällen unvermeidlich. Har...

So fügen Sie Nginx dynamisch Module hinzu

Vorne geschrieben Nachdem wir Nginx basierend auf...

Empfehlen Sie mehrere MySQL-bezogene Tools

Vorwort: Mit der kontinuierlichen Entwicklung der...

Einführung in die schnelle Docker-Bereitstellung eines SpringBoot-Projekts

1. Docker installieren Öffnen Sie zunächst die Li...

Vue implementiert Login-Sprung

In diesem Artikelbeispiel wird der spezifische Co...

8 leistungsstarke Techniken zum Erstellen von HTML-Webseiten

<br />Es gibt zwar viele Tools zum Erstellen...

Verstümmelte Zeichen und Lösungen im MySQL-Zeichensatz

Vorwort Ein Zeichensatz ist eine Reihe von Symbol...

Toolkit: Ein leistungsfähigeres Front-End-Framework als Bootstrap

Hinweis: Die derzeit beliebtesten Front-End-Frame...

So installieren und verwenden Sie Server-U Version 14

Einführung der Server-U-Software Server-U ist ein...

Detaillierte Erklärung des Übergangsattributs einer einfachen CSS-Animation

1. Verständnis der Übergangsattribute 1. Das Über...