*   >> läser Utbildning artiklar >> science >> programming

Skapa ett Flash plattformsspel med flixel och Flex - Enemies

er, en för själva fienden, och en för gibs som kommer att flyga när fienden dödas. Vi anger också några konstanter define fiendens hälsa och hastighet Omdömen
 skyddat var startingX: int;. skyddade var maxHorizontalMovement: int; skyddade Var gibs: FlxEmitter; 

startingX variabla lagrar utgångsläget av fienden. Eftersom alla fiender startar till vänster i ett block, och vi vet hur stort ett block är, kan vi använda börjar med fiender aktuell position för att avgöra när det ska flytta tillbaka till rätten att undvika att falla över kanten.

Omdömen < p> maxHorizontalMovement variabeln är bredden på det underliggande blocket. Detta i kombination med startingX variabeln, stannar fiender flyttar utanför kanten av blocket. Omdömen

gibs variabel kommer att hålla en FlxEmitter, som är som en partikel-system, som kommer att visa en explosion av gibs när fienden förstörs Omdömen

 public function Enemy (X: int, Y: int, maxHorizontalMovement: int). {super (EnemyImage, X, Y, true); this.y - = this.height; this.startingX = X; this.maxHorizontalMovement = maxHorizontalMovement - this.width; this.velocity.x = ENEMY_SPEED; this.

health = ENEMY_HEALTH; this.gibs = FlxG.state.add (ny FlxEmitter (0,0,0,0, null, -1,5, -150.150, -200, 0, -720,720,400,0, EnemyGibsImage, 20, true)) som FlxEmitter; addAnimation ("anim", [0, 1], 12); this.play ("anim"); }

Allt detta nummer är rakt framåt. Vi har helt enkelt installationsprogrammet de underliggande FlxSprite variabler tillsammans med dem vi specificerade oss, och sedan ställa in fiendens animation. . Vi skapar också en ny FlxEmitter, som kommer att visa duschen av gibs när fienden dör Omdömen

 public override uppdateringsfunktionen (): void {super.update (); if (this.

x - this.startingX> = maxHorizontalMovement) {this.x = this.startingX + maxHorizontalMovement; this.velocity.x = -ENEMY_SPEED; .} Else if (this.x - this.startingX

I uppdateringsfunktionen ändrar vi hastigheten hos fienden om det har rört sig över kanten av den underliggande blocket Omdömen

 public override funktion hitWall (Kontakt: FlxCore = null): Boolean {this.velocity.x = -this.velocity.x, return true;} 

hitWall funktionen kommer att kallas om fienden har drabbat en vägg Eftersom vi vet att vägen är klar över.

vänster på den underliggande blocket, innebär detta att fienden slog ett block som det flyttade rätt i detta fall har vi helt enkelt ställa in hastigheten för att flytta fienden tillbaka till vänster Omdömen

 public override funktion kill ():.. void {super.kill (); this.gibs.x = this.x + (this.width >> 1); this.gibs.y = this.y + (this.height >>

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.