*   >> läser Utbildning artiklar >> science >> programming

Skapa ett Flash plattformsspel med flixel och Flex - Powerup Blocks

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

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.