*   >> läser Utbildning artiklar >> science >> programming

Att göra en Space Invaders klon med tryckknapp - huvud Menu

spela demo Omdömen

ladda ner källkoden Omdömen

TILLBAKA TILL Handledningen INDEX Omdömen

Även om det kanske inte omedelbart uppenbara , statsförvaltning, som att byta från en meny till en spelnivå och tillbaka igen, inte tillhandahålls av tryckknappen XML nivå belastningsklasser. Även om du kan ladda en nivå, kommer det i själva verket ladda alla enheter utöver dem som för närvarande är laddade. Rensa närvarande laddade enheter är inte en funktion av nivån lastning, och så innan en ny nivå är laddad måste du manuellt förstöra befintliga enheter för dig själv.

Omdömen

Det enklaste sättet att göra detta är att skapa en komponent som lyssnar på en global händelse som trigger och förstöra den enhet som den tillhör i svar. Den DestroyOnLevelClearComponent gör just detta. Den lyssnar på clear-händelsenivån skickas av stora scenen objektet (ett bekvämt och centralt objekt som alla komponenter kan lyssna på). Omdömen

DestroyOnLevelClearComponent.

as Omdömen

 public class DestroyOnLevelClearComponent utökar EntityComponent {public static const LEVEL_CLEAR: String = "LevelClear"; public function DestroyOnLevelClearComponent () {super (); } Skyddade override funktion onAdd (): void {super.onAdd (); Global.mainStage.addEventListener (LEVEL_CLEAR, levelClear); } Skyddade override funktion onRemove (): void {super.onRemove (); Global.mainStage.removeEventListener (LEVEL_CLEAR, levelClear); } Skyddad funktion levelClear (event: Event): void {owner.

destroy (); }}

Nu är alla enheter som bildats under nivån, antingen lastas direkt från en XML-deklaration eller skapas vid körning, få nya DestroyOnLevelClearComponent komponenten. Omdömen

Kod Omdömen

SwitchLevelComponent är används för att skicka en tydlig händelsenivå, och sedan begära att en ny nivå laddas av Levelmanager. Vi har använt tangentbordshändelser, i motsats till att kontrollera om en tangent har tryckts varje ram, för att se till att nivån clearing och lastningsförloppet sker en gång. Omdömen

SwitchLevelComponent.

as Omdömen

 public class SwitchLevelComponent utökar EntityComponent {public var nivå: int = -1; public function SwitchLevelComponent () {super (); } Skyddade override funktion onAdd (): void {super.onAdd (); Global.mainStage.addEventListener (KeyboardEvent.KEY_UP, keyUp); } Skyddade override funktion onRemove (): void {super.onRemove (); Global.mainStage.removeEventListener (KeyboardEvent.KEY_UP, keyUp); } Skyddad funktion keyUp (event: Keyboard): void 

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.