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

Hacer un clon de Space Invaders con PushButton - Bullets

JUGAR LA DEMO

DESCARGAR EL CÓDIGO FUENTE

VOLVER A EL INDICE TUTORIAL

Hasta ahora hemos estado usando el entidad XML y las definiciones de nivel como una forma o definición y creación de entidades, es decir, todas las entidades en los archivos XML se crea cuando se carga el nivel. Esto no tiene sentido para las balas, sin embargo, a medida que se crean en respuesta a la entrada del teclado. Pulsador permite esto nos da la capacidad de crear una instancia de una entidad se define en los archivos XML por su nombre en tiempo de ejecución.


En primer lugar tenemos que definir la entidad bala. Esto se hará como una plantilla. El código para la plantilla de bala incluye el mismo espacio, renderizado y animación componentes como el enemigo se definió en el primer tutorial.

Código

Un nuevo componente llamado DestroyIfOffScreenComponent ha sido creada. Su objetivo es eliminar una entidad del juego cuando se ha movido fuera de la pantalla. Esta es una manera conveniente para limpiar entidades que ya no son útiles.


Código

Además de un nuevo componente llamado DamageOnContactConponent permite a una entidad, como una bala, para infligir daño a otra entidad que choca con. La lógica real para gestionar la salud de una entidad no será añadido en este tutorial, por lo que el componente DamageOnContactConponent simplemente quitar la entidad a la que se adjunta cuando se produce una colisión.

Código

Si se mira de cerca las propiedades collisionType y collidesWithTypes del componente Box2DSpatialComponent no se establecieron en la plantilla de la bala.

Esto se debe a que con el tiempo quiere tener dos tipos de balas - los despedidos por el jugador y los despedidos por el enemigo. Para dar cabida a este definimos una nueva plantilla llamada PlayerBullet, basado en la plantilla de la bala. Aquí definimos el PlayerBullet como una entidad que choca con los enemigos.

Código

El Enemigo plantilla se modificó para que chocará con las entidades con sede fuera de la plantilla PlayerBullet.


Código

El último cambio es a la PlayerControllerComponent, que gana una nueva propiedad llamada bulletEntityName, que define el nombre de la plantilla de la que para crear las balas de los jugadores.

Código

< p> El código para el componente DamageOnContactConponent es bastante simple en este punto porque no hemos implementado la lógica de infligir hecho nin

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