*   >> Læs Uddannelse artikler >> science >> programming

Oprettelse af et spil på Google Android spil med flixel - Tilføjelse Weapons

FlxCore Kontakt) {ondt

(0); returnere sandt; } Public boolean hitFloor (FlxCore Kontakt) {hurt

(0); returnere sandt; } Public boolean hitCeiling (FlxCore Kontakt) {hurt

(0); returnere sandt; } Public void ondt (float Damage) {if (død) tilbagevenden; velocity.x = 0; velocity.y = 0; døde = true; spille ("puf") }

skyde funktion kaldes af spilleren til at tage en inaktiv kugle (dvs. en, hvor der eksisterer variabel er falsk) og læg det tilbage i spillet på den angivne position og med den angivne hastighed.


 public void shoot (float bX, flyder forbi, float bXVel, float bYVel) {super.reset (BX, BY); velocity.x = bXVel; velocity.y = bYVel; hvis (velocity.y 0) spiller ("ned"); ellers hvis (velocity.x 0) spiller ("rigtige"); }} 

I GameState konstruktøren skaber vi otte nye Bullet objekter, og placere dem i en ny kollektion kaldet playerBullets. Afspilleren konstruktør er blevet modificeret til at acceptere en henvisning til dette nye kollektion.

Hvis du ser nøje har vi også opdele løkken, der skaber niveau FlxBlock platforme og fjenden objekter.

Dette skyldes, at den rækkefølge, som disse objekter er skabt definerer deres rækkefølge på skærmen - objekter skabt senere vises over toppen af ​​dem oprettede tidligere. Ved at skabe de fjendtlige objekter efter FlxBlock objekter sikrer vi, at fjenderne (og de FlxEmitters at vi vil tilføje, når de dør) er tegnet på toppen af ​​de blokke, der udgør niveau.

GameState.java

Opdateringen Funktionen er modificeret til at omfatte et nyt sammenstød kontrol mellem kugler og blokke det niveau og fjender.

Når en kollision der registreres med en fjende både kuglen og fjenden har deres ondt funktion kaldet

 public void opdatering () {super.update (.); FlxG.collideArrayList (levelBlocks, spiller); FlxG.overlapArrayList (fjender, afspiller, ny FlxCollideListener () {public void Collide (FlxCore object1, FlxCore object2) {player.kill (); FlxG.fade (0xffd8eba2,3, nyt FlxFadeListener () {public void fadeComplete () {FlxG .switchState (MenuState.class);}});}}); FlxG.collideArrayLists (playerBullets, levelBlocks); FlxG.

overlapArrayLists (playerBullets, fjender, nye FlxCollideListener () {public void Collide (FlxCore kugle, FlxCore fjende) {((FlxSprite) kugle) .hurt

(0) ((FlxSprite) fjende) .hurt

(1);}} ); }

Ligesom Player klasse i sidste tutorial, fjenden klassen får nu en FlxEmitter der udløses, når fjenden dør.

Page   <<  [1] [2] 
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.