jouer à la démo
télécharger le code SOURCE
Retour à la index du tutoriel
Merci pour le moteur physique quand le joueur et l'ennemi se heurtent l'ennemi va pousser le joueur hors de la voie. Dans envahisseurs de l'espace du jeu devraient prendre fin quand l'ennemi et le joueur se heurtent, nous avons donc besoin d'ajouter un composant qui va provoquer à la fois le joueur et l'ennemi pour exploser au contact.
Ceci est légèrement différente pour le système de santé utilisé dans la collision entre un ennemi et les joueurs balles.
Dans ce scénario, la balle va soustraire une certaine santé de l'ennemi, et devrait l'atteindre 0 ennemis santé du HealthComponent sera ensuite détruire l'entité ennemie et distribuer un événement de laisser d'autres composants savent que l'entité est mort. À ce stade, l'ennemi a une unité de santé, et les balles soustraire 1 unité de la santé, de sorte que le résultat final est que les ennemis vont mourir d'un seul coup.
Mais à l'avenir, nous pouvons vouloir ajouter ennemis qui prennent deux ou plusieurs coups de feu, et grâce à la HealthComponent qui peut être fait en modifiant un élément XML.
En revanche une collision entre un joueur et un ennemi doit toujours entraîner à la fois en train d'être détruite. Pour mettre en œuvre ce nouveau composant appelé un DeathOnContactComponent est créé.
DeathOnContactComponent.
as
DeathOnContactComponent public class étend EntityComponent {La collection deathCollisionTypes détient les noms des entités qui vont entraîner cette entité être détruits quand ils entrent en collision avec elle
deathCollisionTypes public var:. tableau; DeathOnContactComponent public function () {super (); } Fonction protégée override onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_EVENT, onCollision); } Protected override fonction onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_EVENT, onCollision); }
Dans la fonction onCollision nous trouvons la Box2DSpatialComponent de l'entité de collision (rappelez-vous que vous ne pouvez pas supposer que event.collidee ou event.collider aurez toujours se référer à l'autre entité), puis nous trouvons si de l'autre entité Nom de collision est un match pour l'un de ceux dans la collection deathCollisionTypes
onCollision de fonction privée (de l'événement: CollisionEvent): void {varFaire un clone de Space Invaders avec PushButton - Enemy Bullets
- Comment jouer Runescape sur l'iPod touch /iPhone /iTouch Sans VNC, à l'aide de …
- Regex regroupements dans Perl
- Fournir des services WiFi pour un Event
- Un projet de la Magie Html client Edges
- C ++ juste après la Basics
- Obfuscation dans Asp.net
- Les Directory
- Navigateur Google Chrome sur votre clé USB personnelle Drives
- L'objet HTML Archive Attribute
- Javascript Outputs