collidee === mySpatial? event.collider: event.collidee; var otherHealth: HealthComponent = other.owner.lookupComponentByType (HealthComponent), kuten HealthComponent; jos (otherHealth! = null) otherHealth.damage (vahinko); owner.destroy (); }}
uusi DeathHandlerComponent komponentti asettaa onDied toiminto kutsutaan, jos HealthComponent.DIED tapahtuman. Sisällä onDied uuden esiintymän Räjähdys malli on luotu ja sijoitettu. Huomaa, että yritämme ja vedä viittaus sekä Box2DSpatialComponent ja SimpleSpatialComponent komponentti jotta asettaa alkuasentoon räjähdyksen.
Tietenkin me tiedämme, että räjähdys yksikkö sisältää SimpleSpatialComponent (koska sitähän me peli se XML-tiedosto), mutta jätin tämä koodi Korosta jokin kysymyksiä PushButton komponenttirakenne järjestelmä, jonka mukaan komponentteja, jotka suorittavat sama toiminta ovat usein yhteydessä toisiinsa.
Tässä tapauksessa sekä Box2DSpatialComponent ja SimpleSpatialComponent tarjota tapa sijoittaa yksikön avaruudessa, todellinen asema muuttujaa ei ole määritetty osana yhteisen rajapinnan tai perustaa luokan, pakottaa meidät tarkistamaan olemassaolon molempien komponenttien kun yrittää asettaa alkuasento.
public class DeathHandlerComponent ulottuu EntityComponent {julkinen var PositionReference: PropertyReference = null; julkisessa tehtävässä DeathHandlerComponent () {Super (); } Suojattu Ohitustoiminto onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (HealthComponent.DIED, onDied); } Suojattu Ohitustoiminto onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (HealthComponent.DIED, onDied); } Suojatun toiminnon onDied (tapahtuma: Tapahtuma): void {var asema: Point = owner.getProperty (PositionReference); var kokonaisuus: IEntity = TemplateManager.instance.instantiateEntity ("räjähdys"); jos (yksikkö! = null) {var paikkatietojen: Box2DSpatialComponent = entity.lookupComponentByType
Making Space Invaders klooni PushButton - Killing Player
- Tapahtumaketju Project Mysql
- Aloitusopas C
- Katsaus MySQL Säännöllinen Expressions
- Boolen logiikka Ja ActivePerl Conditions
- Mikä on algoritmi?
- Miten suunnitella rutiinit Structured Computer Program
- Esimerkkejä Vaihdevivut Codes
- Miten luodaan erän ohjelma:
- Magento räätälöinti Hakeminen Promotion To Multiple Skus
- Miten oppia ohjelmoida Computer