Om så vi skickar en händelse som liknar vad HealthComponent skulle utlösa om det skulle döda en enhet . På detta sätt de komponenter som tittar för företaget att dö, som DeathHandlerComponent, kommer också att arbeta när företaget dör på grund av en kollision Omdömen
var healthEvent. HealthEvent = new HealthEvent (HealthComponent.DIED, 0, 0 , other.owner); owner.eventDispatcher.dispatchEvent (healthEvent),
Och naturligtvis enheten förstörs Omdömen
owner.destroy (). bryta; }}}DeathHandlerComponent får en ny variabel som kallas entityToCreateOnDeath som tillåter oss att ange vilken enhet som kommer att skapas när ett företag dör. Detta gör det möjligt för oss att skapa olika explosioner för fiender och spelaren (eftersom spelaren är en större sprite) katalog
DeathHandlerComponent.as Omdömen
public class DeathHandlerComponent utökar EntityComponent {public var PositionReference.PropertyReference = null; public var entityToCreateOnDeath: String; public function DeathHandlerComponent () {super (); } Skyddade override funktion onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (HealthComponent.DIED, onDied); } Skyddade override funktion onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (HealthComponent.DIED, onDied); } Skyddad funktion onDied (event: Event): void {var Position: Point = owner.getProperty (PositionReference); var enhet: IEntity = TemplateManager.instance.
instantiateEntity (entityToCreateOnDeath); if (enhet = null!) {var spatial: Box2DSpatialComponent = entity.lookupComponentByType (Box2DSpatialComponent) som Box2DSpatialComponent; var simpleSpatial: SimpleSpatialComponent = entity.lookupComponentByType (SimpleSpatialComponent) såsom SimpleSpatialComponent; if (rumslig = null!) {spatial.position = new Point (position.x, position.y); } Else if (simpleSpatial = null!) {SimpleSpatial.position = new Point (position.x, position.y); }}}}
Fienden och spelare mallar både få den nya DeathOnContactComponent komponenten.
Omdömen
Kod Omdömen
Spelaren får också DeathHandlerComponent, som är inställd på att skapa den nya PlayerExplosion enheten när spelaren dör (den PlayerExplosion mallen är exakt densamma som den explosions templat, förvänta sig att den refererar till en annan SpriteSheet).
Kod
Att göra en Space Invaders klon med tryckknapp - Enemy Bullets
- Php Jämförelse och räkna Operators
- Flytande mer än ett HTML-element på en Line
- Databastabell Data Types
- C ++ - Ta tjuren vid Horns
- Wordpress Theme Generator - det enkla sättet att skapa en Wordpress Theme
- Databas N-Ary Association
- Fönster ordningen Basics
- Ställa frågor Sybase Database
- iPhone Kärna Data självstudie Del 1
- Översikt över Mysql Regular Expressions
net