*   >> Lezen Onderwijs artikelen >> science >> programming

Het maken van een Space Invaders kloon met PushButton - Explosions

SPEEL DE DEMO

Download de broncode

Terug naar de tutorial INDEX

Het vernietigen van een vijand in reactie op een botsing met spelers kogel kan voldoende eenvoudig klinken, maar er is een beetje werk dat moet worden uitgevoerd op de achtergrond van de gezondheid van de vijand te beheren, te verkleinen dat gezondheid als reactie op een botsing met een kogel, en een mogelijke explosie tonen wanneer de vijand is overleden.

De explosie, net als elke andere geanimeerde sprite, is gedefinieerd in de XML-bestanden.

Zoals de kogels het bestaat als een matrijs, maar wordt niet toegevoegd aan een groep, dus het is niet geladen wanneer het niveau geladen. Omdat de explosie niet zal deelnemen aan collision detection of over het scherm worden verplaatst is er weinig behoefte om het te simuleren met de Box2D physics engine. Zodat de ruimtelijke component een SimpleSpatialComponent zijn, in tegenstelling tot de Box2DSpatialComponent gebruikt voor de vijanden, speler en kogels. Daarnaast dezelfde rendering en animatie componenten worden toegevoegd aan de explosie entiteit.

Code

Naast een nieuwe component genaamd DestroyAfterCountdownComponent wordt toegevoegd. Het doel van deze component is een entiteit na een bepaalde tijd vernietigen. In dit geval willen we de explosie entiteit vernietigen nadat de animatie is voltooid.

Code

drukknop voorzien van een handig component genaamd HealthComponent die kan worden gebruikt om de gezondheid van een entiteit te behouden, veroorzaken schade aan een entiteit door verlaging van de gezondheid en de entiteit eenmaal al zijn gezondheid verdwenen vernietigen.

Deze component wordt toegevoegd om de vijand template, en we de initiële gezondheid van de vijand 1 (dit standaard op 100).

Code

Wanneer de gezondheid beheerd door HealthComponent gereduceerd tot nul de entiteit wordt vernietigd door standaard, maar het verzendt ook een gebeurtenis om te laten andere componenten weten dat de entiteit is overleden. De DeathHandlerComponent wordt gebruikt om naar te kijken voor dit evenement en voeg een nieuw exemplaar van de explosie entiteit.

Code

De DamageOnContactConponent, die in de laatste les werd geïntroduceerd, is aangepast om het te vinden gezondheidscomponent van de entiteit die wordt botsing met bellen en de schade functie, die de gezondheid van de andere persoon zal verminderen en uiteindelijk vernietigen. De CollisionEvent die wordt doorgegeven aan de collision event listener functie h

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.