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

Faire un clone de Space Invaders avec PushButton - Bullets

jouer à la démo

télécharger le code SOURCE

Retour à la index du tutoriel

Jusqu'à présent, nous avons eu recours à la entité XML et les définitions des niveaux comme une manière ou d'entités définir et créer dire que chaque entité dans les fichiers XML est créé lorsque le niveau est chargé. Cela n'a pas de sens pour les balles si, comme ils seront créés en réponse à la saisie au clavier. Bouton poussoir permet ce en nous donnant la possibilité d'instancier une entité définie dans les fichiers XML par nom à l'exécution.


Nous devons d'abord définir l'entité de balle. Ceci sera fait comme matrice. Le code pour le modèle de balle comprend le même espace, de rendu et d'animation composants comme l'ennemi, nous avons défini dans le premier tutoriel.

Code de

Un nouveau composant appelé DestroyIfOffScreenComponent a été créé. Son but est de supprimer une entité du jeu quand il a déménagé hors de l'écran. Ceci est un moyen pratique pour nettoyer les entités qui ne sont plus utiles.


Code de

En outre, un nouveau composant appelé DamageOnContactConponent permet à une entité, comme une balle, à infliger des dommages à une autre entité, il entre en collision avec. La logique réelle pour gérer la santé d'une entité ne sera pas ajoutée dans ce tutoriel, de sorte que la composante DamageOnContactConponent sera simplement supprimer l'entité à laquelle il est attaché en cas de collision.


Code de

Si vous regardez de près les propriétés collisionType et collidesWithTypes de la composante Box2DSpatialComponent ne sont pas définis dans le modèle de Bullet. Ceci est parce que nous voulons finalement d'avoir deux types de balles - ceux tiré par le joueur et ceux tirés par l'ennemi. Pour répondre à cela, nous définissons un nouveau modèle appelé PlayerBullet, basé sur le modèle de Bullet. Ici, nous définissons la PlayerBullet comme une entité qui entre en collision avec des ennemis.


L'ennemi modèle est modifié de sorte qu'il entre en collision avec les entités basé sur l'PlayerBullet modèle.

code > Code de

Le dernier changement est à l'PlayerControllerComponent, qui gagne une nouvelle propriété appelée bulletEntityName, qui définit le nom du modèle à partir duquel créer les joueurs balles.


Code de

< p> Le code pour le composant DamageOnContactConponent est assez simple à ce point parce que nous avons pas mis en œuvre la logique d'infliger

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