public boolean hitWall (FlxCore Kontakt) {ont(0); return true; } Public boolean hitFloor (FlxCore Kontakt) {ont
(0); return true; } Public boolean hitCeiling (FlxCore Kontakt) {ont
(0); return true; } Public void ont (float Damage) {if (döda) avkastning; velocity.x = 0; velocity.y = 0; död = true; spela ("poff"); }
skjuta funktionen anropas av spelaren att ta en inaktiv kula (det vill säga en där finns variabeln är false) och placera den tillbaka in i spelet vid den angivna positionen och med den angivna hastigheten.
Omdömen
public void skjuta (flyta bX, flyter förbi, flyta bXVel, flyta bYVel) {super.reset (bX, By); velocity.x = bXVel; velocity.y = bYVel; if (velocity.y 0) spela ("down"); else if (velocity.x 0) spela ("höger"); }}I GameState konstruktorn skapar vi åtta nya Bullet objekt, och placera dem i en ny kollektion som kallas playerBullets. Spelaren konstruktören har modifierats för att acceptera en hänvisning till den nya kollektionen. Omdömen
Om du tittar noga har vi också dela slingan som skapar nivå FlxBlock plattformar och fienden objekt.
Detta beror på i vilken ordning dessa objekt skapas definierar deras ordning på skärmen - objekt som skapats senare visas över toppen av de som har skapats tidigare. Genom att skapa fiendens objekten efter FlxBlock objekt vi se till att de fiender (och de FlxEmitters som vi kommer att lägga när de dör) ritas ovanpå blocken som utgör nivå. Omdömen
GameState.java
funktion Uppdateringen modifieras för att införa en ny kollisionskontroll mellan kulorna och nivå block och fiender.
När en kollision detekteras med en fiende både kulan och fienden har sin skada funktion som kallas Omdömen
public void update () {super.update (). FlxG.collideArrayList (levelBlocks, spelare); FlxG.overlapArrayList (fiender, spelare, nytt 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, ny FlxCollideListener () {public void Collide (FlxCore kula, FlxCore fiende) {((FlxSprite) bullet) .hurt
(0), ((FlxSprite) fiende) .hurt
(1);}} ); }
Som spelarens klassen i den sista tutorial, fienden klassen vinner nu FlxEmitter som utlöses när fienden dör. Omdömen
Tryckknapp Tutorial Series - Laddar Resources
- Beviljande privilegier på deras nivåer i Mysql
- C # - Att bygga en Fahrenheit /Celsius Converter
- Karta Modifiers i C ++
- Lägg Streaming Audio på din Website
- Nybörjarguide till ett programmeringsspråk: Php
- Funktioner i C ++
- Ändra och släppa tabeller i Mysql
- Hur att börja utveckla för iOS, Android eller Windows Phone 7
- Grunderna i Window Classes
- Att göra en Space Invaders klon med tryckknapp - De första enemy