*   >> Lese Utdanning Artikler >> science >> programming

Opprette en Flash plattformspill med Flixel og Flex - Powerup Blocks

SE DEMO

laste ned kildekoden

TILBAKE TIL TUTORIAL INDEX

PowerUp blokker var vanlig i mange gamle skolen plattform spill som Mario. Dette er blokker som faller en oppstart, mynt eller noe annet når spilleren hopper inn i den. Denne typen blokk kan gjenskapes ganske lett med Flixel.

 public class PowerupBlock strekker FlxBlock {

Vi skaper en ny klasse kalt PowerupBlock, noe som forlenger FlxBlock klassen.


 beskyttet statisk konst BOUNCE_HEIGHT: Nummer = 3; beskyttet statisk konst BOUNCE_COUNT: int = 5; beskyttet statisk konst BOUNCE_TIME: Number = 0,5; 

Når spilleren hopper inn i blokken vil det sprette opp og ned. Disse konstantene definere hva dette spretter vil se ut.

BOUNCE_HEIGHT konstant definerer hvor langt i y-aksen blokken vil bevege seg når den spretter.

BOUNCE_COUNT konstant definerer hvor mange ganger blokken vil sprette

BOUNCE_TIME konstant definerer hvor lang blokken vil sprette for

 beskyttet Var bounceTime:..

Antall = 1; beskyttet Var droppet: Boolean = false; beskyttet Var dropFunction: Function = null;

bounceTime variabelen brukes til å holde styr på hvor lenge blokken har blitt hoppende for når det har blitt rammet. En verdi på -1 betyr at det ikke er hoppende.

droppet variabel indikerer om blokken har droppet sin oppstart.

De dropFunction peker til en funksjon som skal kalles når blokken er truffet. Det er i denne funksjonen at oppstart vil bli droppet

 offentlig funksjon PowerupBlock (dropFunction.

Funksjon, X: int, Y: int, Bredde: uint, Høyde: uint, TileGraphic: Klasse, Tømmer: uint = 0) {super (X, Y, bredde, høyde, TileGraphic, tømmer); this.dropFunction = dropFunction; }

konstruktør initialiserer den underliggende FlxBlock klassen, og setter dropFunction variable

 styre offentlig funksjon kolliderer (Kjerne: FlxCore):. void {//Basic overlapping sjekke om ((Core.x + Core. bredde (Core.x> = this.x + this.width) || (Core.y> = this.y + this.height) || (Core.y + Core.

height tilbake; //sjekk for å se fra hva retningen vi flyttet inn i blokken Var contactFromLeft: Boolean = Core.x + Core.width> this.x && Core.last.x + Core.width Var contactFromRight: Boolean = Core.x Core.last.x> = this.last .x + this.width; Var contactFromBottom: Boolean = Core.y Core.last.y> = this.last.y + this.height; Var contactFromTop: Boolean = Core.y + Core.height> this.y && Kjerne .last.y + Core.height if (contactFromLeft && C

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.