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

Opprette en Flash plattformspill med Flixel og Flex - Legge Våpen

I vondt funksjonen avbryter vi Bullet fra å bevege seg ved å sette sin hastighet til null, merke den som døde så det vil ikke være involvert i noen flere kollisjoner, og start "poof" animasjon.

 offentlig funksjon shoot (X: int, Y: int, VelocityX: int, VelocityY: int): void {super.reset (X, Y); velocity.x = VelocityX; velocity.y = VelocityY; if (velocity.y 0) spiller ("ned"); else if (velocity.x 0) spiller ("rett"); }}} 

shoot funksjonskall på reset-funksjonen, som posisjonerer Bullet og setter de interne flagg eksisterer, aktiv og synlig for sanne og døde til falsk.

I hovedsak setter Bullet opp til å bli en aktiv deltaker i nivået

 beskyttede Var playerBullets:. FlxArray = new FlxArray (); offentlig funksjon GameState () {levelBlocks.add (this.add (ny FlxBlock (0,640-24,640,8, TechTilesImage))); for (var i: uint = 0; i 

​​Når GameState er konstruert vi skape en rekke Kuler for spilleren å bruke, og lagre disse i en ny FlxArray kalt playerBullets Dette FlxArray sendes deretter til spillere konstruktøren..

 offentlige styringsfunksjon oppdatere (): void {super.update (); FlxG.collideArray (levelBlocks, spiller); FlxG.

collideArrays (playerBullets, levelBlocks);}

Så i oppdateringsfunksjonen sjekker vi for kollisjoner mellom Bullets og nivået blokkene ved å ringe collideArrays

 beskyttet statisk konst BULLET_VELOCITY: Nummer = 360; beskyttet statisk konst BULLET_BOOST. Number = 36; beskyttede Var kuler: FlxArray; beskyttet Var currentBullet: uint = 0 ; beskyttet Var aimingUp: Boolean = false; beskyttet Var aimingDown:..

Boolean = false;

Spilleren får noen nye variabler

BULLET_VELOCITY konstant definerer hvor raskt Bullets vil flytte

Den BULLET_BOOST konstant definerer styrken på oppadgående løft som spilleren får når han sparket ned på bakken.

kuler variale er en referanse til den FlxArray av Bullets opprettet i GameState.

Den currentBullet variabelen er en indeks inn i kuler array. Vi bruker denne til å resirkulere Bullets som nye er avfyrt.


De aimingUp og aimingDown variabler brukes til å bestemme om spilleren er å trykke på tastene opp eller ned, noe som vil endre retningen den Bullets er avfyrt.

 offentlig funksjon spiller (kuler: FlxArray) {//... this.bullets = kuler; } 

Konstruktøren er modifisert for å akseptere en FlxArray, som deretter referert av kuler variable

 offentlige styringsfunksjon oppdatering (). void {//... aimingUp = f

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