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

Creación de un juego de plataformas de Flash con Flixel y Flex - Arranque Blocks

VER LA DEMO

DESCARGAR EL CÓDIGO FUENTE

VOLVER A EL INDICE TUTORIAL

bloques Powerup eran comunes en un montón de viejos juegos de plataformas de la escuela como Mario. Estos son los bloques que caen un encendido, moneda o algo más cuando el jugador salta en él. Este tipo de bloque puede ser recreado con bastante facilidad con Flixel.

 public class PowerupBlock extiende FlxBlock {

Creamos una nueva clase llamada PowerupBlock, que extiende la clase FlxBlock.


 static const protegida BOUNCE_HEIGHT: Number = 3; protegida estática BOUNCE_COUNT const: int = 5; protegida estática BOUNCE_TIME const: Number = 0.5; 

Cuando el jugador salta al bloque que se suba y baje. Estas constantes definen lo que este rebote se verá así.

La constante BOUNCE_HEIGHT define hasta qué punto en el eje y el bloque se moverá cuando está rebotando.

La constante BOUNCE_COUNT define cuántas veces el bloque rebotará

La constante BOUNCE_TIME define el tiempo que el bloque se recuperará para

 bounceTime var protegida:..

Number = -1; var protegida cayó: Boolean = false; protegida dropFunction var: Función = null;

La variable bounceTime se utiliza para mantener un seguimiento de cuánto tiempo el bloque ha estado rebotando de cuando ha sido golpeado. Un valor de -1 significa que no se está recuperando.

La variable caído indica si el bloque se ha reducido su poder para arriba.

Los puntos dropFunction a una función que se llamará cuando el bloque es golpeado. Es en esta función que será dado de baja el poder hasta

 función PowerupBlock público (dropFunction:.

Función, X: int, Y: int, Anchura: uint, Altura: uint, TileGraphic: Clase, Vacía: uint = 0) {super (X, Y, Ancho, Alto, TileGraphic, Empties); this.dropFunction = dropFunction; }

El constructor inicializa la clase FlxBlock subyacente, y la variable dropFunction

 anular la función pública colisionar (Core: FlxCore):. void {//Básica solapamiento comprobar si ((Core.x + Core. anchura (Core.x> = this.x + this.width) || (Core.y> = this.y + this.height) || (retorno Core.y + Core.

height; //comprobar para ver de lo que dirección que nos mudamos a la contactFromLeft bloque var: Boolean = Core.x + Core.width> this.x && Core.last.x + Core.width contactFromRight var: Boolean = Core.x Core.last.x> = this.last .x + this.width; contactFromBottom var: Boolean = Core.y Core.last.y> = this.last.y + this.height; contactFromTop var: Boolean = Core.y + Core.height>

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