KeyboardController.as
función de anulación protegida onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_STOPPED_EVENT, OnCollisionEnd);} protegida función onRemove anulación (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_STOPPED_EVENT, OnCollisionEnd);.}
La función OnCollision se desencadena cuando el dueño del componente KeyboardController (el jugador entidad en nuestro caso) se ha involucrado en una colisión
función OnCollision privada (event: CollisionEvent): void {Nos aseguramos de que la colisión es con una "Plataforma". En el futuro el jugador también podría chocar con los enemigos, balas, power-ups, etc, pero ninguna de estas colisiones son relevantes para la KeyboardController.
si (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "Plataforma") ) {
A continuación, comprobamos para ver si el choque normal, lo que se puede considerar como una línea señalando perpendicular a la plataforma, tiene ay componente de al menos 0,7. Esto indica que la plataforma no es demasiado empinada para estar de pie.
si (event.normal.y> 0,7)Si no es demasiado empinada, incrementamos la variable onground para indicar que el jugador es de pie sobre una plataforma
onground ++.; }}
La función OnCollisionEnd hace lo contrario, decrementar la variable onground cuando el jugador ya no está colisionando con una plataforma
función privada OnCollisionEnd (event: CollisionEvent):. void {if (ObjectTypeManager.instance. doesTypeOverlap (event.collidee.collisionType, "Plataforma")) {if (event.normal.y> 0,7) onGround--; }}La variable onground ahora indica si el jugador está de pie en el suelo. En la función onTick comprobamos para ver si se pulsa la tecla de salto y onground es mayor que cero.
Si por lo que los jugadores de velocidad vertical modificada para hacerla saltar
función de anulación pública onTick (tickrate: Number):. Void {//... si (InputManager.isKeyDown (InputKey.UP) && onground> 0) {velocity.y = -JumpSpeed; } //...}
PushButton Tutorial Series - Enemies
- Paquetes y muchos-a-muchos Relationships
- C # Tutoriales - Lección 1: Tipos de datos básicos y variables (int, double, f…
- ¿Qué es una ventana de Microsoft
- Entero y flotar Tipos de objetos en C ++
- Código C # para la transposición de la matriz (C aguda) (Dot neto)
- Tutoriales de Java - Lección 2: Tipos de datos primitivos y variables (Integer,…
- Objeto de C ++ Orientado Programming
- Panorámica de Mysql Expressions
- Learn To Programa Online
- iPhone Core Data Tutorial Parte 2
NET - C # - clase ayudante Mailer pa…