suojattu var startingX: int; suojattu var maxHorizontalMovement: int; suojattu var gibs: FlxEmitter;startingX muuttuja tallentaa alkuasetelma vihollinen. Koska kaikki viholliset alkavat vasemmalla lohko, ja tiedämme, miten laaja lohko on, voimme käyttää alkaen vihollisia nykyisen sijainnin määrittää, milloin pitäisi siirtyä takaisin oikealle välttääkseen putoamisen reunasta.
< p> maxHorizontalMovement muuttuja on leveys taustalla lohkon. Tämä, yhdessä startingX muuttuja, pysäyttää vihollisia liikkuu pois harkon reunasta.
gibs muuttuja järjestää FlxEmitter, joka on kuin hiukkanen järjestelmä, joka on näyttää räjähdys gibs kun vihollinen on tuhottu.
julkisessa tehtävässä 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 (uusi FlxEmitter (0,0,0,0, null, -1,5, -150150, -200, 0, -720,720,400,0, EnemyGibsImage, 20, true)) kuin FlxEmitter; addAnimation ("eläinjoukko", [0, 1], 12); this.play ("anim"); }
Kaikki tämä koodi on suoraan eteenpäin. Me yksinkertaisesti setup taustalla FlxSprite muuttujat yhdessä näiden me määritellyt itse, ja sitten setup vihollisen animaatio. Olemme myös luoda uuden FlxEmitter, joka näyttää suihkussa gibs kun vihollinen kuolee.
julkisen Ohitustoiminto päivitys (): void {super.update (); jos (this.x - this.startingX> = maxHorizontalMovement) {this.x = this.startingX + maxHorizontalMovement; this.velocity.x = -ENEMY_SPEED; } Else if (this.x - this.startingX
päivitys toiminto muutamme nopeus vihollisen jos se on siirtynyt reunan yli taustalla lohkon.
julkisen Ohitustoiminto hitWall (Yhteystiedot: FlxCore = null): Looginen {this.velocity.x = -this.velocity.x, return true;}hitWall toiminto on nimeltään, jos vihollinen on osunut seinään. Koska tiedämme polku on selvä yli vasemmalla taustalla lohkon, tämä tarkoittaa, että vihollinen osuma lohko kuin se siirtyi oikealle.
Tässä tapauksessa me yksinkertaisesti asetettu nopeus siirtää vihollinen takaisin vasemmalle.
julkisen Ohitustoiminto tapon (): void {super.kill (); this.gibs.x = this.x + (this.width >> 1), this.gibs.y = this.y + (this.height >> 1); this.gibs.restart ();}}}tapon toimintoa kutsutaan, kun vihollisen terveys on laskenut 0 hallinta terveyden arvo
Luominen Flash tasohyppelypeli Flixel ja Flex - Ääni ja Music
- Ennalta Windows Cursors
- Apua, My Script Eikö & amp; # 039; t Working!
- Pääsy suunnittelijat C ++ Classes
- Määritetään Ensisijainen Keys tietokantaan Entities
- Mahtava Näppäimistö vilkkuu Trick
- C Pointers
- Katso Satelliitti - TV Online
- Boolen logiikka ja JavaScript Conditions
- Making Space Invaders klooni PushButton - Killing Player
- HTML Ebook Frameset