spille demoen
laste ned kildekoden
TUTORIAL INDEX
Det var to begrensninger med flytting blokker i den siste opplæringen. Den første var at blokkene ville skyve under spilleren. Dette kan enkelt løses ved en linje med kode i MovingBlock kollisjon funksjon
styre offentlig funksjon kolliderer (Kjerne: FlxCore):. Void {//.. if (contactFromTop) {if (Core.hitCeiling (dette )) {Core.y = this.y - Core.height; Core.last.y = Core.y; Core.x + = this.x - this.last.x; }}}
Her kan vi flytte spilleren horisontalt med samme beløp som blokken når spilleren har kollidert med blokken ovenfra (dvs. det står på det).
Den andre begrensningen var at spiller ville bli transportert gjennom blokkene i situasjoner hvor det skal ha blitt squished. For å fikse det opp må vi utføre dueller på den statiske og bevegelige blokker individuelt
Først definerer vi en ny FlxArray i GameState klassen for å holde de bevegelige blokker
beskyttede Var movingBlocks..: FlxArray = new FlxArray ();
Alle forekomster av MovingBlock klassen deretter plasseres i det nye utvalget
this.movingBlocks.add (this.add (ny MovingBlock (32, 64, 0, 0 , LEVEL_DIMENSIONS >> 1, LEVEL_DIMENSIONS - BLOCK_DIMENSIONS * 3, BLOCK_DIMENSIONS * 2, BLOCK_DIMENSIONS * 2, TechTilesImage)));I oppdateringsfunksjonen vi gjør kollisjoner på de bevegelige blokker, og deretter de statiske seg. Legg merke til at rekkefølgen på samtaler til FlxG collideArray funksjon er viktig: de bevegelige blokker må behandles før de statiske blokker.
Vi kontrollerer deretter for å se om spilleren er innleiret i en av blokkene. Hvis det er det har blitt knust, og vi kaller playerSquash funksjonen
offentlige styringsfunksjon oppdateringen (): void {super.update ();. FlxG.collideArray (movingBlocks, spiller); FlxG.collideArray (levelBlocks, spiller); FlxG.collideArrays (playerBullets, levelBlocks); FlxG.collideArrays (fiender, levelBlocks); FlxG.overlapArrays (playerBullets, fiender, bulletHitEnemy); FlxG.overlapArray (movingBlocks, spiller, playerSquash); FlxG.overlapArray (levelBlocks, spiller, playerSquash); }
I playerSquash funksjon vi bare drepe spilleren. For en faktisk spillet vil du sannsynligvis fjerne en spiller liv og start staten i denne funksjonen
privat funksjon playerSquash (Collide1: FlxCore, Collide2: FlxCore):. Void {player.kill ();}
Å gjøre en 3D-spill med Ogre - åpner et vindu
- Bygg din egen Web Server
- Kommandoer Associated med filer og mapper: Batch File Programming
- Feilgrunnleggende I C
- Komme i gang med Javascript
- Sende Html Form Med Activeperl
- RDBMS Concepts
- Noen Javascript forhåndsdefinerte objekter
- Php Sammenligning og regning Operators
- Com komponenter med .net
- iPhone kjernedata Tutorial Part 2