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

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

SPEEL DE DEMO

Download de broncode

TUTORIAL INDEX

Om de speler iets wat we zullen doen geven voeg wat vijanden. Deze vijanden zullen heel dom zijn, gewoon naar links en rechts aan de bovenkant van de blokken die we hebben toegevoegd. Ook al is dit niet bijzonder geavanceerde gedrag, was het vrij gebruikelijk met veel oude 16/08 bit platform games.

Als eerste hebben we een constante die bepaalt hoe veel vijanden zullen in het worden toegevoegd om het niveau te bepalen gamestate klasse

 beschermd static const ENEMY_COUNT: uint = 10; 

Dan voegen we een FlxArray naar de nieuwe vijanden te houden

 beschermd var vijanden.. FlxArray = new FlxArray (); < p> We hebben een oproep aan de nieuwe functie addEnemies maken dan in de constructor (nadat we de blokken hebben toegevoegd aan het niveau) 

 openbare functie gamestate () {//... for (var j.

uint = 0; j

De addEnemies functie vijanden bovenop de blokken te plaatsen willekeurig gehele niveau Wij kunnen Plaats vijand bovenop een blok, omdat er een goede kans dat twee blokken zijn. geplaatst in de top van elkaar, wat betekent dat er geen ruimte is voor onze vijand

 beveiligde functie addEnemies (): void {var enemyCount: uint = 0; voor elk. (var blok1: FlxBlock in this.levelBlocks) { var enemyStartX: Number = block1.x; var enemyStartY: Number = block1.y; var botst: Boolean = false; voor elke (var block2: FlxBlock in this.

levelBlocks) {var xCollision: int = enemyStartX + (BLOCK_DIMENSIONS >> 1); var xCollision2: int = xCollision + BLOCK_DIMENSIONS; var yCollision: int = enemyStartY - (BLOCK_DIMENSIONS >> 1); var yCollision2: int = yCollision - BLOCK_DIMENSIONS; if (blok1! == block2 && (block2.overlapsPoint (xCollision, yCollision) || block2.overlapsPoint (xCollision, yCollision2) || block2.overlapsPoint (xCollision2, yCollision) || block2.overlapsPoint (xCollision2, yCollision2))) { botst = true; breken; }}

Om dit we lus door het niveau blokken twee keer te controleren.

Op deze manier kunnen we elk blok te testen voor een botsing in de ruimte boven het met elk ander blok in het niveau. We moeten een blok te vinden, waar een 2x2 blok bevinden (zodat 16x16 pixels) boven de linker bovenhoek is gratis (dit is omdat onze vijanden nemen de ruimte van 4 blokken).

Om dit moeten we testen Test 4 punten in de ruimte. De eerste zal een half blok, en een half blok aan de overkant. Dit effectief test de zone in het rood hieronder.

Als u niet bekend bent met het, de >> operator is een beetje verschuiving genoemd.

De werkelijke details van deze operator zijn niet belangrijk; alles wat je moet weten is dat door te bellen >>

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