*   >> lukeminen koulutus Artikkelit >> science >> programming

Luominen Flash tasohyppelypeli Flixel ja Flex - Powerup Blocks

actFromRight && Core.hitWall (tämä)) {Core.x = tämä .x + this.width;} if (contactFromBottom && Core.hitCeiling (tämä)) {Core.y = this.y + this.height; jos (! pudonnut) {bounceTime = BOUNCE_TIME; putosi = true; jos (dropFunction! = null) dropFunction (tämä); }} Jos (contactFromTop && Core.hitFloor (tämä)) {Core.y = this.y - Core.height; }} Julkinen Ohitustoiminto päivitys (): void {super.update (); jos (bounceTime! = -1) {bounceTime - = FlxG.elapsed; jos (bounceTime {bounceTime = -1;}}}

Aivan kuten BounceBlock, törmäys toiminto on ohitettu.

Täällä me työntää pelaaja ulos lohkon, aivan kuten FlxBlock olisi. myös havaita, kun lohko on kärsinyt alapuolelta, jolloin me aloittaa terhakka ja soittaa toiminto viittaa dropFunction.

 suojattu Ohitustoiminto getScreenXY (P: Point): void {super.getScreenXY (P), jos (bounceTime! = -1) Py + = Math.sin (bounceTime /BOUNCE_TIME * Math.PI * BOUNCE_COUNT) * BOUNCE_HEIGHT;}} 

lohkojen terhakka ei pitäisi vaikuttaa se vuorovaikutuksessa pelin esineitä - eli kun se on terhakka se olisi törmäävät kuten se ei liiku.

Helpoin tapa tehdä tämä lohko näyttää toipua, mutta ei muuttaa sisäisen vaikuttavia muuttujia törmäys koodi, on ohittaa getScreenXY toiminto. Tämä toiminto kääntää esineitä saavutettu sijoitus (x ja y) asentoon ruudulla. Täällä, jos lohko on terhakka, sopeutamme y arvo niin se seuraa siniaallon, mikä näkyy liikkua ylös ja alas. Koska emme ole muutettu x- ja y-arvot lohkon itse, se on silti törmäävät kuin jos se ei liiku.

 suojattu var powerupBlocks: FlxArray = uusi FlxArray (); 
 julkisessa tehtävässä GameState () {//... powerupBlocks.add (this.

add (uusi PowerupBlock (dropCoin, LEVEL_DIMENSIONS >> 1, LEVEL_DIMENSIONS - BLOCK_DIMENSIONS * 4, BLOCK_DIMENSIONS, BLOCK_DIMENSIONS, PowerupBlockImage))); //...}

GameState saa uuden FlxArray pitää powerup lohkot. Olemme myös lisätä powerup blokki tämän kokoelman paljon samalla tavalla kuin lisäämme staattinen lohkoja. Ainoa ero on, että menetämme uuden dropCoin toiminto PowerupBlcok, jota kutsutaan kun pelaaja hyppää lohkoon.

 julkisen Ohitustoiminto päivitys (): void {super.update (); FlxG.collideArray (movingBlocks, pelaaja); FlxG.collideArray (powerupBlocks, pelaaja); FlxG.

collideArray (levelBlocks, pelaaja); FlxG.collideArrays (playerBullets, levelBlocks); FlxG.collideArrays (playerBullets, powerupBlocks); FlxG.collideArrays (movingBlocks, kolikot); FlxG.collideArrays (levelBlocks, kolikot); FlxG.overlapArray (kolikot, pelaaja,

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.