*   >> Lectura Educación Artículos >> science >> programación

Creación de un juego de plataformas de Flash con Flixel y Flex - Enemies

JUGAR LA DEMO

DESCARGAR EL CÓDIGO FUENTE

INDICE TUTORIAL

Para dar al jugador algo que hacer lo haremos añadir algunos enemigos. Estos enemigos serán bastante tonto, simplemente mueve a la izquierda y derecha en la parte superior de los bloques que hemos añadido. A pesar de que esto no es un comportamiento particularmente avanzada, era bastante común con un montón de viejos 8/16 juegos de plataformas poco.


En primer lugar definimos una constante que controla cuántos enemigos se añadirá al nivel en el clase gamestate

 protegida ENEMY_COUNT static const: uint = 10; 

A continuación añadimos una FlxArray para sostener los nuevos enemigos

 enemigos var protegidas:.. FlxArray = new FlxArray (); < p> A continuación, realizar una llamada a las nuevas addEnemies de función en el constructor (después de haber añadido los bloques para el nivel) 

 función gamestate público () {//... for (var j:.

uint = 0; j

La función addEnemies colocará los enemigos en la parte superior de los bloques al azar en todo el nivel Sin embargo, no podemos colocar un enemigo en la parte superior de cualquier bloque, porque hay una buena probabilidad de que dos bloques han sido. colocado en la parte superior de uno al otro, es decir, no hay lugar para nuestro enemigo

 addEnemies protegidas de función (): void {var enemyCount: uint = 0; para cada uno. (Bloque 1 var: FlxBlock en this.levelBlocks) { var enemyStartX: Number = block1.x; enemyStartY var: Number = block1.

y; var choca: ​​Boolean = false; para cada uno (var Bloque 2: FlxBlock en this.levelBlocks) {var xCollision: int = enemyStartX + (BLOCK_DIMENSIONS >> 1); xCollision2 var: int = xCollision + BLOCK_DIMENSIONS; var yCollision: int = enemyStartY - (BLOCK_DIMENSIONS >> 1); var yCollision2: int = yCollision - BLOCK_DIMENSIONS; si (Bloque 1! == bloque2 && (block2.overlapsPoint (xCollision, yCollision) || block2.overlapsPoint (xCollision, yCollision2) || block2.overlapsPoint (xCollision2, yCollision) || block2.

overlapsPoint (xCollision2, yCollision2))) { choca = true; descanso; }}

Para comprobar este bucle que a través de los bloques de nivel dos veces. De esta manera podemos probar cada bloque de una colisión en el espacio por encima de ella con cada otro bloque en el nivel. Tenemos que encontrar un bloque donde un área de bloques de 2x2 (píxeles por lo 16x16) por encima de la esquina superior izquierda está libre (esto es porque nuestros enemigos o

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.