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

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

1 op int u effectief zijn waarde halveren. Het is efficiënter, dat roepen BLOCK_DIMENSIONS /2, en je krijgt te imponeren al uw vrienden met een duistere operatie.

We hebben toen testen op het gebied van de volgende blok.

< p>

Dan herhalen we het proces een blok naar rechts.

In het bovenstaande voorbeeld, zou het blok aan de onderkant van het beeld niet geschikt voor te zijn vijandelijke plaatsing omdat er een botsing met de tweede test. Dit stelt de botsing vlag waar is, wat betekent dat we niet een vijand toe hier.


 if (! Botst && enemyStartX> 0 && enemyStartY> 0) {enemies.add (this.add (nieuw Enemy (enemyStartX , enemyStartY, block1.width))); ++ enemyCount; } If (enemyCount> = ENEMY_COUNT) break; }} 

Als de ruimte boven het blok was duidelijk dat we vervolgens een nieuwe vijand, die wordt toegevoegd aan zowel de gamestate en om de vijanden te verzamelen. We verhogen de enemyCount teller, en vervolgens plaatst u de volgende vijand, of als ze zijn allemaal geplaatst break uit de lus

 openbare override functie update ():. Leegte {super.update (); FlxG.

collideArray (levelBlocks, speler); FlxG.collideArrays (playerBullets, levelBlocks); FlxG.collideArrays (vijanden, levelBlocks); FlxG.overlapArrays (playerBullets, vijanden, bulletHitEnemy);}

De vijanden zullen botsen met het niveau blokken, en met de spelers kogels. In de update functie testen we deze botsingen. Voor de kogel /vijand botsing, zetten we de bulletHitEnemy functie in het geval van een botsing te worden genoemd

 privéaangelegenheid bulletHitEnemy (Bullet: FlxSprite, Bot: FlxSprite):. Leegte {Bullet.hurt 

(0); Bot.

hurt

(1);}

In de bulletHitEnemy functie de pijn functie op zowel de kogel en de vijand noemen we. Dit zal de kogel te verwijderen van het niveau, en ervoor zorgen dat de vijand wat schade lijden. . Als de vijand lijdt genoeg schade zal vervolgens worden gedood

Vervolgens moeten we de Vijand klasse te maken

 package {import org.flixel *..; openbare klasse Enemy breidt FlxSprite {[insluiten (bron = "../media /enemy.png")] beschermd var EnemyImage: Klasse; [Insluiten (bron = "../media /enemygibs.

png")] beschermd var EnemyGibsImage: Klasse; beschermde statische const ENEMY_SPEED: Number = 20; beschermde statische const ENEMY_HEALTH: int = 2;

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