Om du inte är bekant med det, är det >> operatören kallas lite skift. Den faktiska detaljerna i denna operatör är inte viktigt; allt du behöver veta är att genom att ringa >> 1 på en int du faktiskt halvera sitt värde. Det är mer effektivt att ringa BLOCK_DIMENSIONS /2, och du får imponera alla dina vänner med en obskyr verksamhet. Omdömen
Omdömen
Vi testar sedan den del av nästa kvarter upp. Omdömen < p>
Sedan vi upprepa processen ett block till höger.
I exemplet ovan, skulle blocket vid botten av bilden inte är lämpligt för en fiende placering eftersom det finns en kollision med det andra testet. Detta ställer kollisions flaggan till true, vilket betyder att vi inte lägga en fiende här. Omdömen
if (! Kolliderar && enemyStartX> 0 && enemyStartY> 0) {enemies.add (this.add (ny Enemy (enemyStartX , enemyStartY, block1.width))); ++ enemyCount; } If (enemyCount> = ENEMY_COUNT) break; }}Om utrymmet ovanför blocket var klart vi sedan skapa en ny fiende, som tillsätts både till GameState och fiender samlingen.
Vi öka den enemyCount disken och sedan antingen placera nästa fienden, eller om de har alla varit placerad bryta ut ur loopen Omdömen
public override uppdateringsfunktionen ():. Void {super.update (); FlxG.collideArray (levelBlocks, spelare); FlxG.collideArrays (playerBullets, levelBlocks); FlxG.collideArrays (fiender, levelBlocks); FlxG.overlapArrays (playerBullets, fiender, bulletHitEnemy);}Fienderna kommer att kollidera med nivåblock, och med spelarnas kulor. I uppdateringsfunktionen testar vi för dessa kollisioner.
För kulan /fienden kollision, vi sätter bulletHitEnemy funktion som ska kallas i händelse av en kollision Omdömen
private function bulletHitEnemy (Bullet: FlxSprite, Bot: FlxSprite):. Void {Bullet.hurt(0); Bot.hurt
(1);}
I bulletHitEnemy funktionen vi kallar ont funktionen både kulan och fienden. Detta kommer att ta bort kulan från den nivå, och orsaka fienden att lida någon skada. . Om fienden lider nog skada kommer det då bli dödad Omdömen
Nästa vi behöver för att skapa Enemy klassen Omdömen
package {import org.flixel *..public class Enemy utökar FlxSprite {[Bädda (source = "../media /enemy.png")] skyddad var EnemyImage: Klass; [Embed (source = "../media /enemygibs.png")] skyddad var EnemyGibsImage: Klass; skyddad static const ENEMY_SPEED: Number = 20; skyddad static const ENEMY_HEALTH: int = 2;
Till att börja med vi bädda vissa bild
Skapa ett Flash plattformsspel med flixel och Flex - Ljud och Music
- Mysql Handledning Och kommandon Del 1
- Index För Database Tables
- Karta Associativ Container i C ++
- Windows Presentation Foundation (WPF)
- Vad är ett inbyggt system?
- Använda reguljära uttryck i Perl
- C ++ Operators
- Spelprogrammering - den grundläggande strukturen och delar av ett spel Applicat…
- C ++ Templates
- String datatyp i Php