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

Oprettelse af en Flash-platform spil med flixel og Flex - Enemies

billeder, en for fjenden selv, og en for de GIBS, der vil flyve, når fjenden er dræbt. Vi angiver også nogle konstanter den definere fjendens helbred og hastighed

 beskyttet Var startingX: int;. beskyttet Var maxHorizontalMovement: int; beskyttede Var GIBS: FlxEmitter 

startingX variable butikker startpositionen af ​​fjenden. Eftersom alle fjender starter til venstre for en blok, og vi ved, hvor bred en blok er, kan vi bruge startende med fjender aktuelle position at bestemme, hvornår det skal flytte tilbage til højre for at undgå at falde ud over kanten.


< p> maxHorizontalMovement variabel er bredden af ​​den underliggende blok. Dette, i kombination med startingX variabel, stopper fjender bevæger sig ud over kanten af ​​blokken.

GIBS variabel vil holde et FlxEmitter, der er som en partikel-system, som vil blive vist en eksplosion af gibs, når fjenden er ødelagt

 offentlig funktion 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") }

Alt dette kode er ligetil. Vi har simpelthen setup de underliggende FlxSprite variabler sammen med dem, vi specificeret os selv, og derefter setup fjendens animation. . Vi skaber også et nyt FlxEmitter, som vil vise byge af gibs, når fjenden dør

 offentlige overstyringsfunktion opdatering (): void {super.update (); hvis (this.x - this.

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

I opdateringsfunktionen ændrer vi hastigheden af ​​fjenden, hvis det har bevæget over kanten af ​​den underliggende blok

 offentlige override funktion hitWall (Kontaktperson: null FlxCore =): Boolean {this.velocity.x = -this.velocity.x; returnere sandt;} 

hitWall funktionen vil blive kaldt, hvis fjenden har ramt en mur Da vi ved stien er klar over.

venstre for den underliggende blok, betyder det, at fjenden ramte en blok, da det flyttede ret i dette tilfælde vi simpelthen sat hastigheden til at flytte fjenden tilbage til venstre

 offentlige overstyringsfunktion kill ():.. ugyldig {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æs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.