Visa DEMO Omdömen
ladda ner källkoden Omdömen
TILLBAKA TILL Handledningen INDEX
Powerup block var vanliga i en hel del gamla skolan plattform spel som Mario. Dessa är de block som släpper en uppstart, mynt eller något annat när spelaren hoppar in i den. Denna typ av block kan återskapas ganska enkelt med flixel.
public class PowerupBlock utökar FlxBlock {Vi skapar en ny klass som heter PowerupBlock, vilket utökar FlxBlock klassen.
Omdömen
skyddad static const BOUNCE_HEIGHT: Number = 3; skyddad static const BOUNCE_COUNT: int = 5; skyddad static const BOUNCE_TIME: Number = 0,5;När spelaren hoppar in i blocket kommer att studsa upp och ner. Dessa konstanter definiera vad detta studsande kommer att se ut. Omdömen
BOUNCE_HEIGHT anten definierar hur långt i y-axeln blocket kommer att flytta när den studsar. Omdömen
BOUNCE_COUNT anten definierar hur många gånger blocket studsar
BOUNCE_TIME anten definierar hur länge blocket kommer att studsa för iPhonen
skyddat var bounceTime:..Number = -1; skyddade var sjönk: Boolean = false; skyddade var dropFunction: Function = null;
bounceTime variabel används för att hålla koll på hur länge blocket har studsar när den har drabbats. Värdet -1 innebär att det inte studsar. Omdömen
tappade variabel anger om blocket har sjunkit sin makt upp. Omdömen
dropFunction pekar på en funktion som kommer att kallas när blocket träffas. Det är i denna funktion att effekt upp kommer att tas bort Omdömen
public function PowerupBlock (dropFunction.Funktion, X: int, Y: int, Bredd: uint, Längd: uint, TileGraphic: Klass, Tömmer: uint = 0) {super (X, Y, bredd, höjd, TileGraphic tömmer); this.dropFunction = dropFunction; }
Konstruktören initierar den underliggande FlxBlock klassen och sätter dropFunction variabeln Omdömen
override public function kolliderar (Kärna: FlxCore):. void {//Basic överlappning kontrollera om ((Core.x + Kärna. bredd (Core.x> = this.x + this.width) || (Core.y> = this.y + this.height) || (Core.y + Core.height avkastning; //kontrollera från vad riktning vi flyttade in i blocket 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 && Kärna .last.y + Core.height if (contactFrom