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

Hacer un clon de Space Invaders con PushButton - El player

, la velocidad que el barco jugadores se moverá, y qué tan lejos de la orilla de la pantalla para detener el reproductor mientras se mueve horizontalmente

 screenWidth var pública:. int = 480; velocidad public var: Number = 200; sideBuffer public var: int = 32; 

Como regla general el constructor de un componente no debe incluir ningún código. Cuando se crea un nuevo componente, y el constructor se llama, no está unido a una entidad.

A pesar de que no se utilizan aquí, la onAdd y funciones onRemove son esencialmente el equivalente del constructor y destructor (para los programadores de C ++ por ahí) guía

 función PlayerControllerComponent público () {super ().; } 

La función onTick es donde actualizamos el jugador. En primer lugar tenemos una referencia a la velocidad y la posición de las entidades. Estos valores se llevan a cabo por el componente espacial y vinculados en la definición de plantilla XML, pero no hace ninguna diferencia para el PlayerControllerComponent donde estos valores vienen.

Este tipo de acoplamiento débil es uno de los aspectos del sistema de diseño de componentes PushButton. El PlayerControllerComponent sabe cómo modificar la posición y la velocidad de una entidad, pero no le importa cómo se utilizan la posición y velocidad

 función de anulación pública onTick (tickrate: Number):. Void {super.onTick (tickrate ); velocidad var: Point = owner.getProperty (velocityReference); posición var: Point = owner.

getProperty (positionReference);

Siempre existe la posibilidad de que las referencias de propiedad no se establecieron, en cuyo caso las variables de posición y velocidad serán nulos. A pesar de que el flash player liberación falla silenciosamente con este tipo de errores, puede ser que también hacer frente a esta posibilidad con gracia aquí por no seguir adelante.

 si (velocidad == posición nula || == null) return ; 

En primer lugar queremos obligado la posición del jugador para que no se mueva fuera del borde de la pantalla

 si (position.

x> screenWidth - sideBuffer) position.x = screenWidth - sideBuffer.; else if (position.x

A continuación, tenemos que actualizar la velocidad en función de la flecha se pulsa la tecla, en su caso

 si (InputManager.isKeyDown (InputKey.LEFT)) {velocity.x =. - velocidad;} else if (InputManager.isKeyDown (InputKey.RIGHT)) {velocity.x = velocidad;} else {velocity.x = 0;.} 

Luego sincronice estos cambios de nuevo a la entidad matriz

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