*   >> läser Utbildning artiklar >> science >> programming

Att göra en Space Invaders klon med tryckknapp - Explosions

spela demo Omdömen

ladda ner källkoden Omdömen

TILLBAKA TILL Handledningen INDEX Omdömen

Att förstöra en fiende som svar på en kollision med en spelare kula kan låta enkelt, men det är lite av arbete som måste göras i bakgrunden för att hantera hälsa fienden, minska att hälsa till följd av en kollision med en kula, och slutligen att visa en explosion när fienden har dött. Omdömen

Explosionen, precis som alla andra animerade spriten, definieras i XML-filer.

Liksom kulorna den existerar som en mall, men inte lagt till några grupper, så det är inte laddas när nivån är laddad. Eftersom explosionen inte kommer att delta i kollisionsdetektering eller flyttas runt på skärmen finns det lite behov av att simulera det med Box2D fysikmotor. Så den rumsliga komponenten kommer att vara en SimpleSpatialComponent, till skillnad från Box2DSpatialComponent används för fiender, spelare och kulor. Bortsett från att samma rendering och animerings komponenter tillsätts till explosion enheten.


Kod

Förutom en ny komponent som kallas DestroyAfterCountdownComponent tillsättes. Syftet med denna komponent är att förstöra en enhet efter en viss tidsperiod. I det här fallet vill vi förstöra explosions enheten när animeringen är klar. Omdömen

Kod Omdömen

Tryck levereras med en praktisk komponent som kallas HealthComponent som kan användas för att bibehålla hälsan hos en enhet, orsak skada på en enhet genom att minska hälso- och förstöra enheten när alla dess hälsa är borta.

Denna komponent läggs till fienden mall, och vi sätter den initiala hälsan hos fienden till 1 (det som standard 100). Omdömen

Kod Omdömen

När hälsa som förvaltas av HealthComponent reduceras till noll företaget förstörs som standard, men det skickar också en händelse att låta andra komponenter vet att företaget har dött. Den DeathHandlerComponent används för att titta på denna händelse och lägga till en ny instans av explosionen enhet.

Omdömen

Kod Omdömen

DamageOnContactConponent, som infördes i förra tutorial, har ändrats för att hitta hälsa del av den enhet som har är kolliderat med och ringa sin skada funktion, vilket kommer att minska hälsan hos annan enhet och slutligen förstöra den. Den CollisionEvent som skickas till kollisions händelseavlyssnare funktionen har referenser till två Box2DSpatialComponent kallade collidee och kolliderare.

Du kan inte ta en eller det andra hör till samma enhet som DamageOnContactConponent, så båda måste kontrolleras

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.