*   >> Lectura Educación Artículos >> science >> programación

Hacer un clon de Space Invaders con PushButton - Matar al Player

alComponent) como Box2DSpatialComponent; var otra: Box2DSpatialComponent = event.collidee === mySpatial event.collider:? event.collidee; para cada uno (collisionType var: String en deathCollisionTypes) {if (ObjectTypeManager.instance.doesTypeOverlap (other.collisionType, collisionType)) {

Si es así enviamos un evento similar a lo que daría lugar a la HealthComponent si se tratara de matar a una entidad .

De esta manera, aquellos componentes que velar por la entidad para morir, como el DeathHandlerComponent, serán también trabajar cuando la entidad muere debido a una colisión

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

Y por supuesto, se destruye la entidad

 owner.destroy (.); descanso; }}} 

El DeathHandlerComponent recibe una nueva variable llamada entityToCreateOnDeath que nos permite especificar qué entidad se crea cuando una entidad muere.

Esto nos permitirá crear diferentes explosiones para los enemigos y el jugador (ya que el jugador es un sprite más grande)

DeathHandlerComponent.as

 public class DeathHandlerComponent extiende EntityComponent {var PositionReference pública:. PropertyReference = null; entityToCreateOnDeath public var: String; función DeathHandlerComponent público () {super (); } Función protegida anulación onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (HealthComponent.DIED, onDied); } Protegida anulación función onRemove (): void {super.onRemove (); owner.

eventDispatcher.removeEventListener (HealthComponent.DIED, onDied); } Función protegida onDied (event: Event): void {position var: Point = owner.getProperty (PositionReference); entidad var: IEntity = TemplateManager.instance.instantiateEntity (entityToCreateOnDeath); si (entidad! = null) {var espacial: Box2DSpatialComponent = entity.lookupComponentByType (Box2DSpatialComponent) como Box2DSpatialComponent; var simpleSpatial: SimpleSpatialComponent = entity.lookupComponentByType (SimpleSpatialComponent) como SimpleSpatialComponent; si (espacial! = null) {spatial.position = new Point (position.

x, position.y); } Else if (simpleSpatial! = Null) {simpleSpatial.position = new Point (position.x, position.y); }}}}

El enemigo y el jugador plantillas tanto conseguir el nuevo componente DeathOnContactComponent.

Código

El jugador también tiene la DeathHandlerComponent, que se fija para crear la nueva ent

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.