public class DamageOnContactConponent strekker EntityComponent {public Var skade: int = 0; offentlig funksjon DamageOnContactConponent () {super (); } Beskyttet Styringsfunksjonen onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); } Beskyttet Styringsfunksjonen onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); } Private funksjon OnCollision (event: CollisionEvent): void {var mySpatial: Box2DSpatialComponent = owner.lookupComponentByType (Box2DSpatialComponent) som Box2DSpatialComponent; Var andre: Box2DSpatialComponent = event.collidee === mySpatial event.collider:? event.collidee; Var otherHealth: HealthComponent = other.owner.lookupComponentByType (HealthComponent) som HealthComponent; if (otherHealth = null!) otherHealth.damage (skade); owner.destroy (); }}
Den nye DeathHandlerComponent komponent setter onDied funksjon å bli kalt i tilfelle av en HealthComponent.
DIED hendelse. Inne i onDied en ny forekomst av Explosion malen er opprettet og plassert. Legg merke til at vi prøver og trekke ut en henvisning til både en Box2DSpatialComponent og SimpleSpatialComponent komponent for å angi startposisjonen for eksplosjon. Selvfølgelig vet vi at eksplosjonen enhet inneholder en SimpleSpatialComponent (fordi det er hva vi spillet det i XML-filen), men jeg dro denne koden for å merke ett av problemene med trykknapp komponent design system, som er at komponenter som utfører samme funksjon er ganske ofte irrelevant.
I dette tilfellet både Box2DSpatialComponent og SimpleSpatialComponent gi en måte å plassere en enhet i verdensrommet, er den faktiske posisjonen variabelen ikke spesifisert som en del av et felles grensesnitt eller base klasse, tvinger oss til å sjekke for eksistensen av begge deler når du prøver å sette utgangsposisjon
public class DeathHandlerComponent strekker EntityComponent {public Var PositionReference. PropertyReference = null; 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): vo
Å gjøre en Space Invaders-klone med taste - Killing Player
- Trykknapp Tutorial Series - Fiender
- Kule Matematikk
- Windows Presentation Foundation (WPF)
- En beskrivelse av Horisontal Web Page Menyer For Hyperkoblinger
- Php Filbehandling Basics
- Fun Multimedia Systems Powerpoint Presentation
- Hvordan bli en datamaskin programmerer?
- Boolsk logikk og Javascript Conditions
- Google Chrome nettleser på din personlige USB Drives
- PHP og MySQL
NET - C # - Hvordan kode en gjenbruk…