Het creëren van een vliegtuig in het spel. Spel

: meer bier, het creëren van een vliegtuig in het spel. Spel meer bier:,,,,,,,,,, 22, 1 eenheid,,,,,,,, de delen van het netwerk, maandag wat tuts + cursussen. Zal worden beperkt tot slechts drie dollar.Niet' dit artikel niet missen, maken deel uit van een reeks genaamd het creëren van een vliegtuig extra bier. Vechtspel. Het creëren van een vliegtuig in het spel. Gameplaycreate bier: vliegtuigen strijd spelen extra bier.: voltooiing van de wedstrijd,,, je creëert,,, de invoering in de reeks,, Eerder. En we begonnen met de uitvoering van het spelletje gespeeld en heb het vliegtuig op het scherm heen en weer bewegen.In deze handleiding zullen wij de voortzetting van de uitvoering van het spel.Laten we meteen met de functie van starttimers,,.,,, 1.  , starttimers, per definitie, starttimers, de timer.Toevoeging van de volgende code, gamelevel. LUA,.,, de functie starttimers () aan het einde van deze functie, in enterscene, methoden, zoals hieronder aangegeven: enterscene scène.,, de functie van de lokale planesound (event) = audio. Loadstream ("planesound -") planesoundchannel = audio spelen (planesound {ring. = 1}): addEventListener ("enterFrame", gameloop) starttimers () aan het einde van fireplayerbullet, 2.  ,,,, fireplayerbullet, de functie creëert een speler van de kogels.,,, de functie van de fireplayerbullet () tempbullet = display. De koning van de nieuwe ("De kogel. Papoea - Nieuw - Guinea", (X + playerwidth speler. /2) - bulletwidth, speler. Y-bulletheight) Tabel. Steek (playerbullets, tempbullet); cluster: steek (tempbullet) en, tot slot, we gebruiken hier   object dat de nieuwe methode,  Het creëren van een kogel.Op een manier vinden we in de schacht, op de as op de as, een vliegtuig.De kogel weer op te nemen, playerbullets, tabel voor de toekomst, maar ook voor de groep,,,, 3.De telefoon, fireplayerbullet, moeten we fireplayerbullet noemen, om ervoor te zorgen dat de spelers van automatische toestellen kogels, periode van functioneren.De toevoeging van het volgende fragment van de functie, starttimers,.,, de functie starttimers () fireplayerbullettimer = de timer. Performwithdelay (2000, fireplayerbullet, 1) en, tot slot, de naam, de timer  , performwithdelay methode om een bepaalde functie. In de loop van de tijd is voorbij.Tijd is hier een beroep op de milliseconde, dus we   functie, fireplayerbullet, elke twee   seconden.In de eerste drie parameters als de timer zal herhalen. Als je het spel nu testen, moet je dat elke kogel komt.Maar ze is nog niet bewegen.We zullen in de volgende stappen in het zorgen voor deze stap.In de moveplayerbullets, moveplayerbullets,,,,, we door middel van de cyclus  , playerbullets,   tabel en de verandering van  , Y,   elke kogel coördinaten.We controleren of de  , playerbullets,   tabel een kogel.De  , #,     voordat playerbullets,   genaamd  , lengte,   exploitant en het terug naar het heet in de lengte van het voorwerp.Weet je,  ,&#nuttig is, is ook van toepassing op touw   exploitanten.,,, moveplayerbullets (functie) (# als playerbullets > 0 = 1) dan ik,&#playerbullets doen playerbullets [I].Y = playerbullets [M]. Y - 7 aan het eind van de maand, hebben we nodig, moveplayerbullets, in  , gameloop   functie, zijn hieronder weergegeven. Gameloop, functie, () - schaar - numberofticks = numberofticks + 1 moveplayer () () aan het einde van moveplayerbullets, 5.  , checkplayerbulletsoutofbounds, als de kogels weg scherm. Is het niet langer van spelletjes.Maar ze is nog steeds, playerbullets gedeelte van tabel blijven als in de tabel van een andere kogel beweegt.Dit is een verspilling van middelen, als het spel is al lang weg, dit zal leiden tot de honderden niet - gebruikte voorwerpen.,, om dit te overwinnen, en we houden de kogels, als ze eenmaal weg scherm, zullen we ze uit, playerbullets, in de tabel, alsmede van de show.In de  , de uitvoering van een checkplayerbulletsoutofbounds,.,, checkplayerbulletsoutofbounds () (# als functie van playerbullets > 0 = #) en ik playerbullets, 1, 1 (playerbullets doen [M]. De Y < 18) en playerbullets [ik]:removeself () playerbullets [M] = nul te schrappen (playerbullets formulier. Ik) einde, dat wij door het verkeer, is heel belangrijk, playerbullets, tabel op achteruit gaan.Als we door de ronde tafel, en als we het wegnemen van de kogel, zal het verkeer van de index, fouten maken.Door de verspreiding van die tabel in omgekeerde volgorde, de laatste kogel is behandeld.De methode, removeself,   weergave van objecten en het vrijgeven van de schrapping van het geheugen.Als een beste praktijk, moet je een object, nul, telefoon, removeself,.,, noemen we deze functie in de  , gameloop,  .,, functionele gameloop () - schaar - moveplayer () () () aan het einde van moveplayerbullets checkplayerbulletsoutofbounds, als je dit wilt zien of het normaal functioneren van Het werk tijdelijk, kan een, drukken ("de bom"), een verklaring van   onmiddellijk na de weergave van objecten, nul,,,, 6.  , generateisland, die het spel interessanter, we produceren vaak een eiland voor de vliegtuigen naar beneden langs het eiland van de verschijning van het scherm.De toevoeging van het volgende fragment van de functie, generateisland,.,, de functie generateisland () lokale tempisland = display. De koning van de nieuwe ("island1. Papoea - Nieuw - Guinea, wiskunde, willekeurige (0, display.contentwidth - islandwidth), - islandheight) Tabel. Steek (eilanden, tempisland) islandgroup: steek (tempisland) en, tot slot, we gebruik maken van de nieuwe voor de positie van een,, nogmaals en een negatieve waarde van het eiland, islandheight,.Op de plaats, X, we gebruikte methode,   wiskunde. Willekeurige, tussen 0 en genereren, dat  , contentwidth,   afgetrokken, islandwidth,.De reden dat we het eiland   breedte afgetrokken is ervoor te zorgen dat het eiland is volledig op het scherm.Als we geen vermindering van de breedte van het eiland, het eiland zal de kans krijgen   niet op het scherm.,, moeten we beginnen met een timer die vaak een eiland.Bij het volgende fragment, starttimers, we eerder te functioneren.Zie je, we zijn op een eiland   die elke vijf seconden,  ,  .In de loop van de procedure, zullen we de eilanden, de functie van mobiele. Starttimers (), fireplayerbullettimer = de timer. Performwithdelay (2000, fireplayerbullet, - 1) generateislandtimer = de timer. Performwithdelay (5000, generateisland, - 1) aan het eind van het jaar, 7.De uitvoering van moveislands, moveislands,,,, de  , bijna hetzelfde moveplayerbullets,   functie.We controleren  , de eilanden, de   tabel bevat alle eilanden, als dat zo is, hebben we door middel van de cyclus van elk eiland, een beetje.,,, moveislands () (# als functie van de eilanden > 0 = 1) dan ik,&#eilanden eilanden [M], [M] Y + Y = eilanden. 3 - 8.Checkislandsoutofbounds, net zoals wij, of de kogels weg scherm spelers, we controleren of er geen eiland is van het scherm af.Checkislandsoutofbounds uitvoering,  , dient vertrouwd te zijn met je.We kijken naar het eiland  , Y,   standpunt is groter dan de  , weergegeven. Contentheight,   als dat zo is, dan weten we het eiland een scherm, en kan dus worden geschrapt. Checkislandsoutofbounds (), functie, als (# eilanden > 0) en ik =&#eiland, 1, 1 als (eilanden [I]. Y > dat contentheight) en de eilanden. Ik]:removeself (eilanden) [[M] = nul. Geschrapt (eilanden, het einde van mijn), 9.  , generatefreelife, eens in de zoveel tijd, je een kans op het krijgen van een vrij leven.In de eerste plaats de vrijheid die ons een beeld van het leven, als een speler en ze extra leven en een beeld van de botsing.De speler kan maximaal zes   leven. En generatefreelife (), functioneren als (numberoflives > = 6) en dan terug naar het einde van lokale vos = display. De koning van de nieuwe ("nieuw leven. Van Papoea - Nieuw - Guinea", wiskunde, willekeurige (0, display.contentwidth - 40) 0); de lijst opgenomen (freelifes cluster:, Fox. Steek (Life) en, tot slot, als de spelers hebben zes   leven, we ook niet de functie van de repatriëring.Als er geen, creëren we een nieuwe beelden van het leven, en die moeten worden toegevoegd aan het scherm.Hoe brengen we de eilanden vergelijkbaar is, voordat we de beelden op een negatieve, Y, de positie en het creëren van een beeld van een willekeurige waarde X,   positie.En dan brengen we het naar   ingevoegd, na freelifes,   tabel kunnen verwijzen naar het.,, we moeten deze functie vaak.Bij het volgende fragment van de functie, starttimers,.,, de functie starttimers () fireplayerbullettimer = de timer. Performwithdelay (2000, fireplayerbullet, - 1) generateislandtimer = de timer. Performwithdelay (5000, generateisland, - 1) generatefreelifetimer = de timer. Performwithdelay (7000, generatefreelife, - 1) aan het eind van Het jaar, 10.De uitvoering van movefreelives movefreelifes,,,,, dat is bekend.We zijn door de verspreiding van  , freelifes,   tabel en mobiele in elk beeld.,,, movefreelifes () (# als functie van freelifes > 0 = 1) dan ik,&#freelifes doen freelifes [I], [I] Y = freelifes. Y + 5 einde, alles wat we nodig hebben we doen is de telefoon, movefreelifes, in  , gameloop,  .,, gameloop - schaar - functies () () () aan het einde van checkislandsoutofbounds movefreelifes, 11.  , checkfreelifesoutofbounds,, het volgende fragment moet ook nu je bekend voor.We kijken of er een beeld, freelifes, tabel is gesloten en het schrappen van de functie van het scherm. Checkfreelifesoutofbounds (,,) (# als freelifes > 0 = #) en ik freelifes, 1, 1 (freelifes doen [M]. Y > display. Contentheight) en freelifes [ik]:removeself (de) freelifes [M] = nul. Het schrappen van (freelifes, ik) einde, noemen we deze functie, in gameloop,  .,, functionele gameloop () - schaar - checkislandsoutofbounds () () () aan het einde van movefreelifes checkfreelifesoutofbounds, 12.  , hascollided, moeten we kunnen vertellen Wanneer het de wedstrijd tegen elkaar botsen, zoals de spelers en de vrije leven beeld, kogels en het BevrijdingslegerNes, en extra bier. Het biedt een zeer sterke fysieke motor, kan gemakkelijk aan een botsing tussen ons, dit zal leiden tot een toename van de berekening van de motor van een deel van de kosten te doen elk frame. Doel van deze wedstrijd, zullen wij met behulp van een eenvoudige rechthoek botsing systeem.Wat is de functie van een object, is ervoor te zorgen dat de twee rechthoekige of de doos niet overlappen.Als ze dat doen, is het voorwerp van een botsing.Deze logica is, hascollided, de uitvoering van de taken van de functie van hascollided (obj1.,,, doelstellingen 2) als (obj1 = = nul) en dan weer vals als (doelstellingen 2 = = nul) en dan weer vals is de linker = obj1.contentbounds.xmin < = obj2.contentbounds.xmin en obj1.contentbounds.xmax > = = = = = = = obj2.contentbounds.xmin waar je obj1.contentbounds.xmin > = obj2.contentbounds.xmin en obj1.contentbounds.xmin < = obj2.contentbounds.xmax lokale = obj1.contentbounds.ymin < = obj2.contentbounds.ymin en obj1.contentbounds.ymax > = obj2.contentbounds.ymin lokale = obj1.contentbounds.ymin > = obj2.contentbounds.ymin en obj1.contentbounds.ymin < = (obj2.contentbounds.ymax naar links of rechtsJa) en (of) en, tot slot, vond ik dit deel van de code van de coronalabs website.Het werkt echt goed in het spel, omdat we het spel tegen de is een rechthoek.Als je niet het voorwerp van rechthoekige werken, dan heb je het beste bier, terwijl de motor. Fysieke botsing is goed en de,, 13.  , checkplayercollideswithfreelife,, we moeten kijken naar het vliegtuig en de vrijheid van de spelers voorwerpen botsen.Als dat zo is, dan hebben we de beloning spelers een leven in vrijheid. Checkplayercollideswithfreelife (,, functie) (# als freelifes > 0 = #) en ik freelifes, 1, 1 (hascollided doen (freelifes [M], en ik freelifes spelers)) []:removeself () freelifes [M] = nul. Freelifes. Te schrappen, ik numberoflives = numberoflives + 1) hidelives () () showlives einde, in checkplayercollideswithfreelife, de functie, het  , we door het verkeer, freelives,   tabel terug om dezelfde reden dat ik reeds eerder beschreven.We spreken, hascollided, in het huidige beeld van de functie, via de speler van het vliegtuig.Als de twee objecten botsen, zullen we leven in vrijheid beeld en vergroot, numberoflives, variabelen, en roept hidelives,, showlives, functie, deze functie in gameloop, we  ,,.,, de functie gameloop () - schaar - movefreelifes () () () aan het einde van checkfreelifesoutofbounds checkplayercollideswithfreelife, 14, hidelives.  ,,,, hidelives, functie door, livesimages, tabel, onroerend goed zichtbaar, elk leven dat beeld, valse,,, i = 1 functie hidelives (6), doen livesimages [M] = het verkeerde einde. Vis, van 15.  , showlives showlives,,,,   livesimages, vorm en functie door, oprichting van elk beeld, zichtbaar, eigendom, echt,,,, showlives () is de functie vanI = 1, numberoflives doen livesimages [M] = waar. Het einde van de conclusies;,,,, dat brengt het aantal in het derde deel in de buurt.In deze reeks in het kader van een laatste tranche en creëren we de vijandelijke vliegtuigen, en voor het bepalen van het spel.Bedankt voor het lezen en zien je daar.

Final product image



Previous:
Next Page: