*   >> Lecture Éducation Articles >> science >> la programmation

Faire un clone de Space Invaders avec PushButton - Explosions

jouer à la démo

télécharger le code SOURCE

Retour à la index du tutoriel

Détruire un ennemi en réponse à une collision avec une balle de joueurs peut sembler assez simple, mais il ya un peu de travail qui doit être fait en arrière-plan pour gérer la santé de l'ennemi, diminuer que la santé en réponse à une collision avec une balle, et enfin pour afficher une explosion quand l'ennemi est mort.

L'explosion, comme tout autre sprite d'animation, est défini dans les fichiers XML.

Comme les balles qu'elle existe en tant que matrice, mais ne sont pas ajoutées à un groupe d'utilisateurs, de sorte qu'il ne soit pas chargé lorsque le niveau est chargé. Parce que l'explosion ne participera pas à la détection de collision ou d'être déplacé autour de l'écran il ya peu de nécessité de simuler avec le moteur physique Box2D. Ainsi, la composante spatiale sera un SimpleSpatialComponent, contrairement à la Box2DSpatialComponent utilisé pour les ennemis, joueur et balles. En dehors de cela les mêmes rendu et d'animation composants sont ajoutés à l'entité d'explosion.


Code de

En outre, un nouveau composant appelé DestroyAfterCountdownComponent est ajouté. Le but de cette composante est de détruire une entité après un certain laps de temps. Dans ce cas nous voulons détruire l'entité d'explosion une fois l'animation est terminée.

Code de

Bouton poussoir est livré avec une composante pratique appelé HealthComponent qui peut être utilisé pour maintenir la santé d'une entité, la cause endommager à une entité en diminuant la santé, et de détruire l'entité une fois la totalité de sa santé est parti.

Ce composant est ajouté au modèle de l'ennemi, et nous avons mis la santé initial de l'ennemi à 1 (par défaut à 100).

Code de

Lorsque la santé géré par le HealthComponent est réduite à zéro l'entité est détruite par défaut, mais il distribue également un événement de laisser d'autres composants savent que l'entité est mort. Le DeathHandlerComponent est utilisé pour regarder pour cet événement et ajouter le une nouvelle instance de l'entité d'explosion.


Code de

Le DamageOnContactConponent, qui a été introduit dans le dernier tutoriel, a été modifié pour trouver le composante de l'entité qui est a heurté et appeler sa fonction de dommages, ce qui réduira la santé de l'autre entité et finalement détruire la santé. Le CollisionEvent qui est passé à la fonction d'écouteur d'événem

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.