openbare boolean hitWall (flxCore Contact) {pijn(0); return true; } Openbare boolean hitFloor (flxCore Contact) {pijn
(0); return true; } Openbare boolean hitCeiling (flxCore Contact) {pijn
(0); return true; } Public void pijn (float Damage) {if (dood) return; velocity.x = 0; velocity.
y = 0; dode = true; spelen ("poef"); }
De functie shoot wordt genoemd door de speler om een inactieve kogel (dwz waar de variabele bestaat, is false) en plaats het terug in het spel op de opgegeven positie en met de opgegeven snelheid.
public void shoot (bX zweven, drijven, zweven bXVel, zweven bYVel) {super.reset (BX, opgegeven door); velocity.x = bXVel; velocity.y = bYVel; if (velocity.y 0) spelen ("down"); anders als (velocity.x 0) spelen ("rechts"); }}
In de gamestate constructeur creëren we acht nieuwe Bullet voorwerpen, en plaats ze in een nieuwe collectie genaamd playerBullets. De speler aannemer is gewijzigd om een verwijzing naar deze nieuwe collectie te accepteren.
Als je goed kijkt hebben we ook verdelen de lus die het niveau FlxBlock platformen en de vijand objecten creëert. Dit komt doordat de volgorde waarin de objecten worden gemaakt bepaalt de volgorde op het scherm - voorwerpen gemaakt later verschijnen over de bovenkant van de eerder gecreëerde.
Door het creëren van de vijand objecten na de FlxBlock objecten zorgen we ervoor dat de vijanden (en de FlxEmitters die we zullen toevoegen wanneer ze sterven) zijn getrokken op de top van de blokken die deel uitmaken van het niveau.
GameState.java
De update-functie is gewijzigd om een nieuwe botsing controle tussen de kogels en het niveau blokken en de vijanden te nemen. Wanneer een botsing wordt gedetecteerd met een vijand zowel de kogel en de vijand hebben hun pijn functie genaamd
public void update () {super.update ().; FlxG.collideArrayList (levelBlocks, speler); FlxG.overlapArrayList (vijanden, speler, nieuwe FlxCollideListener () {openbare nietige Collide (flxCore Object1, flxCore object2) {player.kill (); FlxG.fade (0xffd8eba2,3, nieuwe FlxFadeListener () {openbare nietige fadeComplete () {FlxG .switchState (MenuState.class);}});}}); FlxG.collideArrayLists (playerBullets, levelBlocks); FlxG.overlapArrayLists (playerBullets, vijanden, nieuwe FlxCollideListener () {openbare nietige Collide (flxCore kogel, flxCore vijand) {((FlxSprite) bullet) .
hurt
(0); ((FlxSprite) vija
PushButton Tutorial Series - Laden Resources
- De Vector Container in C ++
- Denken Cookies
- C ++ Operators
- PHP Mail Function Tutorial
- Bevragen Mysql Database
- Learn To Programma Online
- PushButton Tutorial Series - Parallax Background
- Tijdelijke tabel in Sybase SQL Anywhere
- Papaervision 3D Programming Tutorial - Explodo-logo
- Php Vergelijking en rekenen Operators