Hvis så vi sende en hendelse som ligner på hva HealthComponent ville utløse hvis det var å drepe en entitet . På denne måten de komponentene som ser for foretaket å dø, som DeathHandlerComponent, vil også arbeide når foretaket dør på grunn av en kollisjon
Var healthEvent. HealthEvent = new HealthEvent (HealthComponent.DIED, 0, 0 , other.owner); owner.eventDispatcher.dispatchEvent (healthEvent);Og selvfølgelig foretaket er ødelagt
owner.destroy (.); gå i stykker; }}}
DeathHandlerComponent får en ny variabel kalt entityToCreateOnDeath som tillater oss å spesifisere hva enheten vil bli opprettet når en enhet dør. Dette vil gi oss mulighet til å lage ulike eksplosjoner for fiender og spilleren (siden spilleren er en større sprite)
DeathHandlerComponent.as
public class DeathHandlerComponent strekker EntityComponent {public Var PositionReference.PropertyReference = null; offentlig Var entityToCreateOnDeath: String; offentlig funksjon DeathHandlerComponent () {super (); } Beskyttet Styringsfunksjonen onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (HealthComponent.DIED, onDied); } Beskyttet Styringsfunksjonen onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (HealthComponent.DIED, onDied); } Beskyttet funksjon onDied (hendelse: Hendelse): void {var posisjoner: Point = owner.getProperty (PositionReference); Var enhet: IEntity = TemplateManager.instance.
instantiateEntity (entityToCreateOnDeath); if (enhet = null!) {var romlig: Box2DSpatialComponent = entity.lookupComponentByType (Box2DSpatialComponent) som Box2DSpatialComponent; Var simpleSpatial: SimpleSpatialComponent = entity.lookupComponentByType (SimpleSpatialComponent) som SimpleSpatialComponent; if (romlig = null) {spatial.position = new Point (position.x, position.y); } Else if (simpleSpatial = null) {simpleSpatial.position = new Point (position.x, position.y); }}}}
Fienden og de spiller maler både få den nye DeathOnContactComponent komponent.
Kode
Spilleren får også DeathHandlerComponent, som er satt til å opprette den nye PlayerExplosion enhet når spilleren dør (det PlayerExplosion malen er nøyaktig den samme som Explosion mal, forventer at den refererer til en annen SpriteSheet).
Kode Anmeldelser
Å gjøre en Space Invaders-klone med taste - Enemy Bullets
- Hvordan få iPod Touch /iPhone Firmware 3.1.2 og jailbreak det for 1G, 2G, 3G bl…
- Android Programmering: I. Android aktivitet Lifecycle & amp; ndash; Concepts
- 17 måter å få Vista til å kjøre raskere
- Quick Introduksjon til Uml
- Banner Html Document
- Posisjonering HTML-elementer med CSS og Lagdeling
- Web Design Advice
- Database tabelldata Types
- Opprette en Flash plattformspill med Flixel og Flex - Enemies
- Skrive Windows Mobile Application Ved hjelp av Google-data Apis
NET - C # - Bruke UserControls Mail …