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

Making Space Invaders klooni PushButton - Pääsivu Menu

Toista DEMO

ladata lähdekoodin

TAKAISIN TUTORIAL INDEX

Vaikka se ei ehkä ole heti ilmeinen , valtion johto, kuten siirtyminen valikosta näytön pelin taso ja takaisin, ei toimiteta PushButton XML tasolla lastaus luokat. Vaikka voit ladata tasolla, se itse asiassa lataa kaikki yksiköiden lisäksi, jotka on nyt ladattu. Clearing hetkellä ladattuna yhteisöjä ei funktio tason lastaus, ja niin ennen uudelle tasolle ladataan sinun täytyy manuaalisesti tuhota nykyiset yksiköt itse.


Helpoin tapa tehdä tämä on luoda komponentti, joka kuuntelee maailmanlaajuinen tapahtuma on käynnistää ja tuhota kokonaisuus, johon se kuuluu vastauksena. DestroyOnLevelClearComponent tekee juuri sen. Se kuuntelee Tasainen tapahtuma lähettämät päälavalla esine (kätevä ja keskeinen kohde, että kaikki osat voivat kuunnella).

DestroyOnLevelClearComponent.

as

 public class DestroyOnLevelClearComponent ulottuu EntityComponent {julkinen staattinen CONST LEVEL_CLEAR: String = "LevelClear"; julkisessa tehtävässä DestroyOnLevelClearComponent () {Super (); } Suojattu Ohitustoiminto onAdd (): void {super.onAdd (); Global.mainStage.addEventListener (LEVEL_CLEAR, levelClear); } Suojattu Ohitustoiminto onRemove (): void {super.onRemove (); Global.mainStage.removeEventListener (LEVEL_CLEAR, levelClear); } Suojatun toiminnon levelClear (tapahtuma: Tapahtuma): void {owner.

destroy (); }}

Nyt kaikki yksiköt luotu aikana tasolla joko ladata suoraan XML ilmoitus tai luonut suorituksen, saada uusi DestroyOnLevelClearComponent komponentti.

Koodi

SwitchLevelComponent on käytetään lähettää Tasainen tapahtuma, ja sitten pyytää uudelle tasolle saa ladata LevelManager. Olemme käyttäneet näppäimistön tapahtumia, toisin kuin tarkistaa, jos avain on painettu jokaisessa kehyksessä, jotta taso selvitys- ja lastaus prosessi tapahtuu kerran.

SwitchLevelComponent.

as

 public class SwitchLevelComponent ulottuu EntityComponent {julkinen var taso: int = -1; julkisessa tehtävässä SwitchLevelComponent () {Super (); } Suojattu Ohitustoiminto onAdd (): void {super.onAdd (); Global.mainStage.addEventListener (KeyboardEvent.KEY_UP, keyup); } Suojattu Ohitustoiminto onRemove (): void {super.onRemove (); Global.mainStage.removeEventListener (KeyboardEvent.KEY_UP, keyup); } Suojatun toiminnon keyup (tapahtuma: KeyboardEvent): mitätön {jos (event.keyCode == Keyboard.SPACE) {Global.mainStage.

dispatchEvent (uusi tapahtuma (DestroyOnLevelCl

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