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

Opprette et spill på Google Android-spill med Flixel - Legge Weapons

} Public boolean hitFloor (FlxCore Contact) {vondt

(0); return true; } Public boolean hitCeiling (FlxCore Contact) {vondt

(0); return true; } Public void vondt (float Damage) {if (død) tilbake; velocity.x = 0; velocity.y = 0; dead = true; spille ("poff"); }

shoot funksjonen kalles av spilleren til å ta en inaktiv bullet (dvs. en der finnes variabelen er falsk) og legg den tilbake i spillet på angitt posisjon og med den oppgitte hastigheten.

 public void shoot (flyte bX, flyte forbi, flyte bXVel, flyte bYVel) {super.reset (BX, BY); velocity.x = bXVel; velocity.

y = bYVel; if (velocity.y 0) spiller ("ned"); else if (velocity.x 0) spiller ("rett"); }}

I GameState konstruktør skaper vi åtte nye Bullet objekter, og plassere dem i en ny kolleksjon kalt playerBullets. Spilleren konstruktøren har blitt modifisert til å akseptere en referanse til denne nye kolleksjonen.

Hvis du ser nøye har vi også delt løkken som skaper nivå FlxBlock plattformer og fienden stedene. Dette er fordi den rekkefølgen disse objektene er skapt definerer rekkefølgen på skjermen - objekter som er opprettet senere vises over toppen av de som er opprettet tidligere.

Ved å opprette fienden gjenstander etter FlxBlock gjenstander sikrer vi at fiender (og de FlxEmitters at vi vil legge når de dør) er tegnet på toppen av blokkene som utgjør nivå.

GameState.java

oppdateringsfunksjonen er modifisert for å inkludere en ny kollisjon sjekk mellom kuler og nivå blokker og fiender. Når en kollisjon blir oppdaget med en fiende både kule og fienden har deres ulykke funksjon kalt

 public void oppdateringen () {super.update (.); FlxG.collideArrayList (levelBlocks, spiller); FlxG.

overlapArrayList (fiender, spiller, ny FlxCollideListener () {public void Collide (FlxCore object1, FlxCore object2) {player.kill (); FlxG.fade (0xffd8eba2,3, ny FlxFadeListener () {public void fadeComplete () {FlxG .switchState (MenuState.class);}});}}); FlxG.collideArrayLists (playerBullets, levelBlocks); FlxG.overlapArrayLists (playerBullets, fiender, nye FlxCollideListener () {public void Collide (FlxCore bullet, FlxCore fiende) {((FlxSprite) bullet) .hurt

(0), ((FlxSprite) fiende) .

hurt

(1);}} ); }

Som spiller klassen i forrige tutorial, den Enemy klassen nå får en FlxEmitter som utløses når fienden dør. Anmeldelser

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