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

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

1 på en int er du effektivt halvere sin værdi. Det er mere effektivt at kalde BLOCK_DIMENSIONS /2, og du kommer til at imponere alle dine venner med en obskur operation.


Vi derefter teste det område af den næste blok op.

< p>

Så gentager vi processen én blok til højre.


I ovenstående eksempel, ville blokken i bunden af ​​billedet ikke være egnet til en fjendens placering, fordi der er en kollision med den anden test. Dette sætter kollisionen flaget til sand, hvilket betyder, at vi ikke tilføje en fjende her.


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

Hvis rummet over blokken var klart, vi derefter oprette en ny fjende, der tilsættes både til GameState og fjender samling. Vi øg enemyCount tælleren, og derefter enten placere den næste fjende, eller hvis de har alle været placeret bryde ud af løkken

 offentlige overstyringsfunktion opdatering ():. Void {super.update (); FlxG.collideArray (levelBlocks, spiller); FlxG.

collideArrays (playerBullets, levelBlocks); FlxG.collideArrays (fjender, levelBlocks); FlxG.overlapArrays (playerBullets, fjender, bulletHitEnemy);}

De fjender vil kollidere med blokerer niveau, og med de spillere kugler. I opdateringsfunktionen vi tester for disse kollisioner. For kuglen /fjendens kollision, vi indstille bulletHitEnemy funktionen til at blive kaldt i tilfælde af en kollision

 private funktion bulletHitEnemy (Bullet: FlxSprite, Bot: FlxSprite):. Void {Bullet.hurt 

(0); Bot.

hurt

(1);}

I bulletHitEnemy funktionen kalder vi ondt funktionen på både det sure æble og fjenden. Dette vil fjerne kuglen fra det niveau, og forårsage fjenden til at lide nogle skader. . Hvis fjenden lider skade nok det vil så blive dræbt

Næste vi nødt til at skabe fjenden klassen

 pakke {import org.flixel *..; public class Enemy udvider FlxSprite {[Integrer (kilde = "../media /enemy.png")] beskyttet var EnemyImage: Klasse; [Integrer (kilde = "../media /enemygibs.

png")] beskyttet var EnemyGibsImage: Klasse; beskyttet statisk const ENEMY_SPEED: Antal = 20; beskyttet statisk const ENEMY_HEALTH: int = 2;

Til at begynde med vi integrere nogle

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.