JUGAR LA DEMO
DESCARGAR EL CÓDIGO FUENTE
VOLVER A EL INDICE TUTORIAL
La destrucción de un enemigo en respuesta a una colisión con una bala de jugadores puede sonar bastante simple, pero hay un poco de trabajo que se tiene que hacer en un segundo plano para gestionar la salud de los enemigos, disminuirá que la salud en respuesta a una colisión con una bala, y, finalmente, para mostrar una explosión cuando el enemigo ha muerto.
La explosión, al igual que cualquier otra sprites animados, se define en los archivos XML.
Al igual que las balas que existe como una plantilla, pero no se añade a ningún grupo, por lo que no se carga cuando se carga el nivel. Debido a que la explosión no participará en la detección de colisiones o ser movido alrededor de la pantalla hay poca necesidad de simular con el motor de física Box2D. Así que el componente espacial será un SimpleSpatialComponent, a diferencia del Box2DSpatialComponent utiliza para el enemigo, jugador y balas. Aparte de eso se agregan los mismos componentes de renderizado y animación a la entidad explosión.
Código
Además se añade un nuevo componente llamado DestroyAfterCountdownComponent. El propósito de este componente es destruir una entidad después de un cierto período de tiempo. En este caso queremos destruir la entidad explosión una vez que la animación se ha completado.
Código
Pulsador viene con un componente práctico llamado HealthComponent que se puede utilizar para mantener la salud de una entidad, la causa dañar a una entidad por la disminución de la salud, y destruir a la entidad una vez que todos los de su salud se ha ido.
Este componente se agrega a la plantilla enemigo, y nos pusimos en la salud inicial del enemigo a 1 (valor por defecto es 100).
Código
Cuando la salud administrado por el HealthComponent se reduce a cero la entidad se destruye de forma predeterminada, pero también distribuye un evento para que otros componentes saben que la entidad ha muerto. El DeathHandlerComponent se utiliza para observar este evento y agregar el una nueva instancia de la entidad explosión.
Código
El DamageOnContactConponent, que fue presentado en el último tutorial, se ha modificado para encontrar el componente de salud de la entidad que se ha chocado con y llamar a su función de daño, lo que reducirá la salud de la otra entidad y, finalmente destruirlo. El CollisionEvent que se pasa a la función d
0 …