Analysieren Sie die Produktionsschritte:1. Ressourcen vorbereiten und Szene erstellenSie 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 2: Erstellen Sie 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 Schritt 2: Bearbeiten Sie den Code und fügen Sie in 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"); } }); EndergebnisOben 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:
|
<<: Anwendungsbeispiele für die try_files-Direktive von Nginx
>>: So vermeiden Sie die URL-Zeitzonenfalle in MySQL
Finden Sie das Problem Als ich heute versuchte, d...
In dieser Anmerkung beschreiben wir kurz Was ist ...
Inhaltsverzeichnis Erstellen Sie ein Vue + TS-Pro...
1. Installieren Sie Zabbix Agent, um den lokalen ...
Vor Kurzem musste ich das Projekt für die Mitglie...
Standortausdruckstyp ~ bedeutet, dass ein regulär...
1: Installieren Sie MongoDB im Docker Schritt 1: ...
Auf dem Server läuft ein Taskprozess. Wenn wir ih...
HTML implementiert ein 2-spaltiges Layout mit fes...
1. Die Komponente First.js hat Unterkomponenten: ...
Normalerweise wird bei einem Deadlock die Verbind...
Wie wir alle wissen, ist SSH derzeit das zuverläs...
Sie können das Attribut in HTML5 verwenden <inp...
Docker-Installation (Alibaba Cloud Server) Offizi...
Dieser Artikel beschreibt anhand von Beispielen, ...