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

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

package {org.flixel import *..; public class Enemigo extiende FlxSprite {[Insertar (fuente = "../media /enemy.png")] protegida var EnemyImage: Clase; [Insertar (fuente = "../media /enemygibs.png")] protegida EnemyGibsImage var: Clase; protegida estática ENEMY_SPEED const: Number = 20; protegida estática ENEMY_HEALTH const: int = 2;

Para empezar integramos algunas imágenes, una para el propio enemigo, y otro para las cuñas que volarán cuando se mata al enemigo.

También especificamos algunas constantes de la definen la salud y la velocidad del enemigo

 protegida var startingX: int;. protegida maxHorizontalMovement var: int; gibs var protegidas: FlxEmitter; 

La variable almacena startingX la posición inicial del enemigo. Dado que todos los enemigos comienzan a la izquierda de un bloque, y sabemos cuán amplio es un bloque, podemos utilizar a partir de la posición actual enemigos para determinar cuándo debe moverse hacia la derecha para evitar caer en el borde.

< p> La variable maxHorizontalMovement es la anchura del bloque subyacente.

Esto, en combinación con la variable startingX, detiene a los enemigos que se mueven fuera del borde del bloque

.

La variable gibs celebrará una FlxEmitter, que es como un sistema de partículas, que será mostrar una explosión de cuñas cuando el enemigo es destruido

 función Enemigo público (X: int, Y: int, maxHorizontalMovement: int). {super (EnemyImage, X, Y, true); this.y - = this.height; this.startingX = X; this.maxHorizontalMovement = maxHorizontalMovement - this.width; this.velocity.x = ENEMY_SPEED; this.health = ENEMY_HEALTH; this.gibs = FlxG.state.

add (nueva FlxEmitter (0,0,0,0, null, -1,5, -150.150, -200, 0, -720,720,400,0, EnemyGibsImage, 20, true)) como FlxEmitter; addAnimation ("anim", [0, 1], 12); this.play ("anim"); }

Todo el código es sencillo. Simplemente configuración de las variables FlxSprite subyacentes junto con los que especificamos a nosotros mismos, y luego la configuración de animación del enemigo. . También creamos un nuevo FlxEmitter, que mostrará la ducha de cuñas cuando el enemigo muere

 actualización de la función public override (): void {super.update (); si (this.x - this.

startingX> = maxHorizontalMovement) {this.x = this.startingX + maxHorizontalMovement; this.velocity.x = -ENEMY_SPEED; .} Else if (this.x - this.startingX

En la función de actualización que cambia la velocidad del enemigo si se ha movido sobre el borde del bloque subyacente

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