*   >> lukeminen koulutus Artikkelit >> science >> programming

Making Space Invaders klooni PushButton - Killing Player

athCollisionTypes) {jos (ObjectTypeManager.instance.doesTypeOverlap (other.collisionType, collisionType)) {

Jos me lähettää tapahtuman samanlainen kuin HealthComponent synnyttäisi jos se tappaa yhteisö . Tällä tavalla ne osat, jotka katsella yksikön kuolla, kuten DeathHandlerComponent, toimii myös silloin kun yhteisö kuolee törmäyksen vuoksi.

 var healthEvent: HealthEvent = uusi HealthEvent (HealthComponent.DIED, 0, 0 , other.owner); owner.eventDispatcher.dispatchEvent (healthEvent); 

Ja tietenkin kokonaisuus on tuhottu.

 owner.

destroy (); tauko; }}}

DeathHandlerComponent saa uuden muuttuja nimeltä entityToCreateOnDeath jonka avulla voimme määrittää, mitä kokonaisuus syntyy, kun yhteisö kuolee. Näin voimme luoda erilaisia ​​räjähdyksiä vihollisia ja pelaaja (koska pelaaja on suurempi Sprite).

DeathHandlerComponent.as

 public class DeathHandlerComponent ulottuu EntityComponent {julkinen var PositionReference: PropertyReference = null; julkinen var entityToCreateOnDeath: String; 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 (entityToCreateOnDeath); jos (yksikkö! = null) {var paikkatietojen: Box2DSpatialComponent = entity.

lookupComponentByType (Box2DSpatialComponent) kuin Box2DSpatialComponent; var simpleSpatial: SimpleSpatialComponent = entity.lookupComponentByType (SimpleSpatialComponent), kuten SimpleSpatialComponent; jos (alueellisia! = null) {spatial.position = uusi kohta (position.x, position.y); } Else if (simpleSpatial! = Null) {simpleSpatial.position = uusi kohta (position.x, position.y); }}}}

vihollisen ja pelaaja malleja sekä saada uusia DeathOnContactComponent komponentti.


Koodi

Pelaaja saa myös DeathHandlerComponent, joka on asetettu luoda uusia PlayerExplosion yksikön kun pelaaja kuolee (PlayerExplosion malli on täsmälleen sama kuin Räjähdys malli, odottaa, että se viittaa eri SpriteSheet).

Koodi

Page   <<  [1] [2] 
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.