Zo ja we verzending van een evenement vergelijkbaar met wat de HealthComponent zou veroorzaken als het aan een entiteit te doden . Op deze manier onderdelen die kijken voor de entiteit om te sterven, net als de DeathHandlerComponent, werkt ook bij de entiteit sterft als gevolg van een botsing
var healthEvent.HealthEvent = new HealthEvent (HealthComponent.DIED, 0, 0 , other.owner); owner.eventDispatcher.dispatchEvent (healthEvent);
En natuurlijk de entiteit wordt vernietigd
owner.destroy ().; breken; }}}De DeathHandlerComponent krijgt een nieuwe variabele genaamd entityToCreateOnDeath die ons in staat stelt om aan te geven welke entiteit zal worden aangemaakt wanneer een entiteit sterft. Dit zal ons toelaten om verschillende explosies voor de vijanden en de speler te maken (omdat de speler een grotere sprite)
DeathHandlerComponent.
as
openbare klasse DeathHandlerComponent breidt EntityComponent {public var PositionReference. PropertyReference = null; public var entityToCreateOnDeath: String; publieke functie DeathHandlerComponent () {super (); } Beschermde override functie onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (HealthComponent.DIED, onDied); } Beschermde override functie onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (HealthComponent.DIED, onDied); } Beschermd functie onDied (event: Event): void {var positie: Point = owner.getProperty (PositionReference); var entiteit: IEntity = TemplateManager.instance.instantiateEntity (entityToCreateOnDeath); if (entiteit = null!) {var ruimtelijke: Box2DSpatialComponent = entity.lookupComponentByType (Box2DSpatialComponent) als Box2DSpatialComponent; var simpleSpatial: SimpleSpatialComponent = entity.lookupComponentByType (SimpleSpatialComponent) als SimpleSpatialComponent; if (ruimtelijke = null!) {spatial.position = new Point (position.x, position.y); } Else if (simpleSpatial = null!) {SimpleSpatial.position = new Point (position.x, position.
y); }}}}
De vijand en de speler templates allebei de nieuwe DeathOnContactComponent component.
Code
De speler krijgt ook de DeathHandlerComponent, die is ingesteld om de nieuwe PlayerExplosion
Het maken van een Space Invaders kloon met PushButton - Enemy Bullets
- Je Eigen Web Server
- Style Sheet
- Over te bekijken van CICS Data Extractor:
- Inzicht in het verschil: Niveaus van Programming
- Wat is een Programmable Logic Controller (PLC)? Wat is een Programmable Logic Co…
- Hoe te beginnen met het ontwikkelen voor iOS, Android of Windows Phone 7
- Logica En C Conditions
- Inleiding tot opgeslagen procedures in Sybase SQL Anywhere
- Inleiding tot mysql Programming Voor Events
- Basis van de C ++ Identifier Scope