*   >> Lezen Onderwijs artikelen >> science >> programming

Het maken van een Space Invaders kloon met PushButton - Hoofd Menu

SPEEL DE DEMO

Download de broncode

Terug naar de tutorial INDEX

Hoewel het niet meteen voor de hand zou kunnen zijn , staat het management, zoals opnieuw overschakelen van een menuscherm om een ​​spel niveau en weer terug, is niet door de PushButton XML niveau beladingsklassen. Tijdens een niveau geladen, zal het feitelijk laden alle entiteiten naast die die momenteel geladen.

Clearing momenteel geladen entiteiten is niet een functie van het niveau van het laden, en dus voordat een nieuw niveau is geladen moet u de bestaande entiteiten handmatig te vernietigen voor jezelf.

De eenvoudigste manier om dit te doen is een component te creëren dat luistert naar een mondiaal evenement trigger en vernietigen van de entiteit waartoe het behoort in reactie. De DestroyOnLevelClearComponent doet precies dat. Het luistert naar het niveau duidelijk gebeurtenis verzonden door het hoofdpodium object (een handige en centrale object dat alle componenten te kunnen luisteren).

DestroyOnLevelClearComponent.as

 openbare klasse DestroyOnLevelClearComponent breidt EntityComponent {openbare statische const LEVEL_CLEAR: String = "LevelClear"; publieke functie DestroyOnLevelClearComponent () {super (); } Beschermde override functie onAdd (): void {super.onAdd (); Global.mainStage.addEventListener (LEVEL_CLEAR, levelClear); } Beschermde override functie onRemove (): void {super.onRemove (); Global.mainStage.removeEventListener (LEVEL_CLEAR, levelClear); } Beschermd functie levelClear (event: Event): void {owner.

destroy (); }}

Nu alle entiteiten die in de loop van het niveau, hetzij geladen rechtstreeks uit een XML-aangifte of gemaakt op runtime, ontvang de nieuwe DestroyOnLevelClearComponent component.

Code

Het is SwitchLevelComponent gebruikt om het niveau duidelijk gebeurtenis verzenden, en dan vragen dat een nieuw niveau door de LevelManager worden geladen. We hebben gebruik gemaakt van de keyboard events, in tegenstelling tot het controleren om te zien of een toets is ingedrukt elk frame, om ervoor te zorgen dat het niveau clearing en laadproces keer wordt gedaan.

SwitchLevelComponent.as

 openbare klasse SwitchLevelComponent breidt EntityComponent {public var niveau: int = -1; publieke functie SwitchLevelComponent () {super (); } Beschermde override functie onAdd (): void {super.onAdd (); Global.mainStage.addEventListener (KeyboardEvent.KEY_UP, keyUp); } Beschermde override functie onRemove (): void {super.onRemove ();

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.