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

Hacer un clon de Space Invaders con PushButton - Antiguo Menu

JUGAR LA DEMO

DESCARGAR EL CÓDIGO FUENTE

VOLVER A EL INDICE TUTORIAL

A pesar de que puede no ser evidente de inmediato , la administración del estado, como el cambio de una pantalla de menú para un nivel de juego y de nuevo, no es proporcionada por las clases de carga nivel PushButton XML. Mientras que usted puede cargar un nivel, de hecho cargar todas las entidades, además de las que se cargan actualmente.

Borrado de entidades cargadas actualmente no está en función de la carga de nivel, y así antes de cargar un nuevo nivel que necesita para destruir manualmente las entidades existentes por sí mismo.

La forma más sencilla de hacerlo es crear un componente que escuchas para un evento global para ser gatillo y destruyen la entidad a la que pertenece en respuesta. El DestroyOnLevelClearComponent hace precisamente eso. Se detecta el evento clara nivel distribuido por el objeto escenario principal (un objeto conveniente y central que todos los componentes pueden escuchar).


DestroyOnLevelClearComponent.as

 DestroyOnLevelClearComponent clase pública se extiende EntityComponent {public static LEVEL_CLEAR const: String = "LevelClear"; función DestroyOnLevelClearComponent público () {super (); } Función protegida anulación onAdd (): void {super.onAdd (); Global.mainStage.addEventListener (LEVEL_CLEAR, levelClear); } Protegida anulación función onRemove (): void {super.onRemove (); Global.mainStage.removeEventListener (LEVEL_CLEAR, levelClear); } Protegida función levelClear (event: Event): void {owner.

destroy (); }}

Ahora todas las entidades creadas en el curso de nivel, ya sea cargados directamente de una declaración XML o creados en tiempo de ejecución, obtener el nuevo componente DestroyOnLevelClearComponent.

Código

El SwitchLevelComponent es utilizado para distribuir el evento clara nivel, y luego solicitar que un nuevo nivel de ser cargado por el LevelManager. Hemos utilizado los eventos de teclado, en lugar de comprobar si una tecla se ha presionado cada cuadro, para asegurar que el proceso de compensación de nivel y la carga se realiza una vez.


SwitchLevelComponent.as

 public class SwitchLevelComponent extiende EntityComponent {nivel public var: int = -1; función SwitchLevelComponent público () {super (); } Función protegida anulación onAdd (): void {super.onAdd (); Global.mainStage.addEventListener (KeyboardEvent.KEY_UP, keyUp); } Protegida anulación funció

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