*   >> Lezen Onderwijs artikelen >> science >> programming

Het creëren van een Flash-platform game met flixel en Flex - Enemies

Om te beginnen verankeren we enkele beelden, een voor de vijand zelf, en één voor de gibs dat zal vliegen wanneer de vijand wordt gedood. We ook aangeven wat constanten van de gezondheid en de snelheid van de vijand te definiëren

 beschermd var startingX: int;. beschermde var maxHorizontalMovement: int; beschermde var gibs: FlxEmitter; 

De startingX variabele slaat de uitgangspositie van de vijand.

Aangezien alle vijanden beginnen aan de linkerkant van een blok, en we weten hoe breed een blok is, kunnen we beginnen met de vijanden huidige positie te bepalen wanneer het terug moet naar rechts te verplaatsen om niet te vallen van de rand.

< p> De maxHorizontalMovement variabele is de breedte van het onderliggende blok. Dit, in combinatie met de startingX variabele, stopt de vijanden bewegen van de rand van het blok.

De gibs variabele zal een FlxEmitter, die is als een deeltje, dat zal een explosie van gibs wanneer weer houden de vijand is vernietigd

 openbare functie 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 (nieuw FlxEmitter (0,0,0,0, null, -1,5, -150.

150, -200, 0, -720,720,400,0, EnemyGibsImage, 20, waar)) als FlxEmitter; addAnimation ("Anim", [0, 1], 12); this.play ("anim"); }

Alle van deze code is ongecompliceerd. We hebben gewoon het instellen van de onderliggende FlxSprite variabelen samen met die we gespecificeerd onszelf, en vervolgens setup animatie van de vijand. . Wij creëren ook een nieuw FlxEmitter, die de douche van gibs wordt weergegeven wanneer de vijand sterft

 openbare override functie update (): 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

In de update-functie te veranderen we de snelheid van de vijand als het over de rand van het onderliggende blok is verhuisd

 openbare override functie hitWall (Contact: flxCore = null): Boolean {this.velocity.x = -this.velocity.x; return true;} 

De hitWall functie wordt genoemd als de vijand een muur heeft geraakt Omdat we weten dat het pad is duidelijk over de.

Links van de onderliggende blok, betekent dit dat de vijand te raken van een blok als het recht verpl

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.