Hvis så vi afsende en begivenhed svarer til, hvad det HealthComponent ville udløse, hvis det var at dræbe en enhed . På denne måde de komponenter, der ser for den enhed til at dø, ligesom DeathHandlerComponent, vil også arbejde, når virksomheden dør på grund af en kollision
Var healthEvent:. HealthEvent = ny HealthEvent (HealthComponent.DIED, 0, 0 , other.owner); owner.eventDispatcher.dispatchEvent (healthEvent)
Og selvfølgelig enheden er ødelagt
owner.destroy (.); pause; }}}DeathHandlerComponent får en ny variabel kaldet entityToCreateOnDeath der giver os mulighed for at specificere, hvad enhed vil blive oprettet, når en virksomhed dør. Dette vil give os mulighed for at skabe forskellige eksplosioner for fjender og spilleren (da spilleren er en større sprite)
DeathHandlerComponent.as
public class DeathHandlerComponent udvider EntityComponent {offentlige var PositionReference:.PropertyReference = null; offentlig Var entityToCreateOnDeath: String; offentlig funktion DeathHandlerComponent () {super (); } Beskyttet overstyringsfunktionen onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (HealthComponent.DIED, onDied); } Beskyttet overstyringsfunktionen onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (HealthComponent.DIED, onDied); } Beskyttet funktion onDied (hændelse: Begivenhed): void {var position: Punkt = owner.getProperty (PositionReference); Var enhed: IEntity = TemplateManager.instance.
instantiateEntity (entityToCreateOnDeath); hvis (= null enhed!) {var rumlig: Box2DSpatialComponent = entity.lookupComponentByType (Box2DSpatialComponent) som Box2DSpatialComponent; Var simpleSpatial: SimpleSpatialComponent = entity.lookupComponentByType (SimpleSpatialComponent) som SimpleSpatialComponent; hvis (= null rumlige!) {spatial.position = nye punkt (position.x, position.y); } Else if (simpleSpatial = null!) {SimpleSpatial.position = nye punkt (position.x, position.y); }}}}
fjenden og spilleren skabeloner både få den nye DeathOnContactComponent komponent.
Kode
spilleren får også DeathHandlerComponent, som er indstillet til at oprette den nye PlayerExplosion enhed, når spilleren dør (den PlayerExplosion skabelonen er nøjagtig den samme som den eksplosion skabelon, forventer, at det refere
Realiseringen af et Space Invaders klon med trykknap - fjendens kugler
- Opnåelse Klarhed For Team Work Med Sharepoint Web Parts
- Regulære udtryk i Perl for begyndere
- Kort Operationer i C ++
- ASP.
NET - C # - Hvordan at kode en genanvendelig CheckBoxValidator
- Hvad er Office Automation?
- Ændre og slippe Event i Mysql
- Kort Associative Container i C ++
- Papervision 3D programmering tutorials - Clipping & amp; amp; Nedslagning
- Påstande og Fejl Tal i C ++
- C Basic Syntax