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

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

cupan el espacio de 4 bloques).

Para probar esto necesitamos prueba de 4 puntos en el espacio. La primera será a media cuadra, y media cuadra al otro lado. Esto pone a prueba efectivamente el área resaltada en rojo a continuación.

Si usted no está familiarizado con ella, el operador >> es llamado un desplazamiento de bits. Los detalles reales de este operador no son importantes; todo lo que necesita saber es que llamando >> 1 en un int que está efectivamente reducir a la mitad de su valor.

Es más eficiente que llamar BLOCK_DIMENSIONS /2, y usted tiene que impresionar a todos sus amigos con una operación oscura.


A continuación, probamos la zona de la próxima cuadra.

< p>

A continuación, repetimos el proceso una cuadra a la derecha.


En el ejemplo anterior, el bloque en la parte inferior de la imagen no sería adecuado para un colocación enemigo porque hay una colisión con la segunda prueba. Esto establece el indicador de colisión en true, lo que significa que no añadimos un enemigo aquí.


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

Si el espacio sobre el bloque estaba claro que cree un nuevo enemigo, que se agrega tanto al gamestate y para la colección enemigos. Nosotros incrementamos el contador enemyCount, y luego o bien colocar el próximo enemigo, o si tienen todo sido ruptura colocado fuera del circuito

 actualización función de anulación público (.): Void {super.update (); FlxG.

collideArray (levelBlocks, jugador); FlxG.collideArrays (playerBullets, levelBlocks); FlxG.collideArrays (enemigos, levelBlocks); FlxG.overlapArrays (playerBullets, enemigos, bulletHitEnemy);}

Los enemigos chocarán con los bloques de nivel, y con las balas de los jugadores. En la función de actualización probamos para estas colisiones. Por la colisión bala /enemigo, fijamos la función bulletHitEnemy ser llamado en caso de una colisión

 función bulletHitEnemy privada (Bullet: FlxSprite, Bot: FlxSprite):. Void {Bullet.hurt 

(0); Bot.

hurt

(1);}

En la función bulletHitEnemy llamamos a la función dolía tanto la bala y el enemigo. Esto eliminará la bala desde el nivel, y hacer que el enemigo a sufrir algún daño. . Si el enemigo sufre daño suficiente será entonces mató

A continuación tenemos que crear la clase Enemigo

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