, skabe en space lnvaders spil i corona: projekt fælde,,,,, 42,,,,,,,,, 9,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en ny serie: skabe en space lnvaders spil i corona. skabe en space lnvaders spil i corona: gennemførelse af gameplay,,, hvad du vil lave, i tre serier, jeg vil vise dig, hvordan man skaber et spil inspireret af den populære i 1970 'erne, space lnvaders.på den måde, vil du lære om corona er scene forvaltning funktionalitet, ure, der flytter en karakter, den indbyggede fysik motor, og anvendelse af moduler til at efterligne klasser i lua programmeringssprog.,,, 1.nyt projekt, åbne corona simulator, klik, nye projekt, og få det projekt, som vist nedenfor.vælg et sted, at redde deres projekt og klik, okay.dette vil skabe en mappe med en række ikonerne og tre sager, som er vigtige for os, main. lua, ud. lua, og opbygge. indstillinger.vi skal se på hvert enkelt dossier i de næste skridt.,,,,, 2.bygge kulisser,,,, build.settings, filen er ansvarlig for bygge tid egenskaber af projektet.åben denne fil, fjerne dens indhold, og forsyne det med følgende sammensætning.,, indstillinger = {orientering = (forvalgt værdi = "portræt" støttet = {"portræt"},,,,, opbygge. indstillinger, sætter vi den manglende orientering og begrænser anvendelsen til kun støtte et portræt orientering.du kan lære, som andre steder, du kan omfatte, build.settings, ved at undersøge corona dokumentation., 3. anvendelse konfiguration,,, config.lua, fil behandler ansøgningen er konfiguration.som vi gjorde med, opbygge. indstillinger, åbner dette dossier, fjerne dens indhold, og tilføje følgende konfiguration.,,, anvendelsen = {indhold = (bredde = 768, højde = 1024, skala = "midlertidigt" fps = 30), det viser misligholdelse bredde og højde af skærm, anvender, midlertidigt, at omfang billederne, og fastsætter rammen sats til 30.besøge corona dokumentation for at lære mere om den andre egenskaber, kan du sætte ind, ud. lua,.,, 4. indgangssted,,, main.lua, filen er sagen, at ansøgningen belastninger og bruger til at bootstrap anvendelse.vi vil bruge, main.lua, at sætte et par standardindstilling for anvendelse og brug, komponist, bibliotek, at lade den første skærm.,, hvis du ikke er bekendt med corona er komponist bibliotek, så anbefaler jeg, at den dokumentation, som hurtigt læst.kort sagt, komponist er indbygget løsning på stedet (screen) oprettelse og forvaltning i corona.biblioteket indeholder udviklere med en let måde at skabe og overgang mellem de enkelte scener.,, nyere komponist modul træder i stedet for de ældre og nu påkrævet, tegning, modul.en migration vejledning er til rådighed til omstilling af deres gamle projekter til at bruge komponist. 5.gem status bar,, vi vil ikke have status som bar viser i vores anvendelse.der tilføjes følgende kode snippet, main.lua, at skjule status bar.,, display. setstatusbar (display. hiddenstatusbar), 6.sæt misligholdelse ophæng,, at misligholdelse anker eller registrering, punkt tilføje følgende kode block, main. lua,.,,, display. setdefault ("anchorx" 0. 5) display. setdefault ("anchory" 0, 5),,,, anchorx, og angive, hvor du anchory, egenskaber registrering af din skærm vil ting at være.bemærk, at værdien varierer fra 0, 1, 0,,.for eksempel, hvis du vil have registrering til toppen til venstre for at vise ting, så du ville sætte begge egenskaber,,,.,,, 7.frø tilfældige generator, vi vil bruge lua er, math.random, funktion at generere tilfældige tal.for at sikre, at tallene er helt tilfældig, hver gang anvendelse er, må du give et frø værdi.hvis du ikke giver en frø værdi anvendelse vil medføre den samme vilkårlighed, hver gang.,,, en god frø værdi er lua er, os.time, funktion, da det vil være forskellig hver gang, anvendelse, er at løbe.der tilføjes følgende kode snippet, main. lua,.,,, matematik. randomseed (os. time()), 8.for at undgå globals,, når der anvendes corona og specifikt lua programmeringssprog, en måde at få adgang til variabler anvendelse bred er at bruge, globale variabler. den måde du erklærer en global variabel er ved at gå fra nøgleordet, lokale, foran den variable erklæring., f.eks. følgende kode block erklærer to variabler.den første er en lokal variabel, der kun ville være til rådighed i kode blok, det er defineret i.den anden er en global variabel, der findes overalt i anvendelse.,,, lokale iamalocalvariable = "lokale" iamaglobalvariable = "globale", er det generelt betragtes som dårlig praksis at anvende globale variabler.de mest udbredte for netop at undgå, at konflikter, der er under to variabler med samme navn.vi kan løse dette problem ved hjælp af moduler,.skabe en ny lua fil, hedder det , gamedata. lua, og tilføje følgende kode til det.,, m = {} tilbage m, vi vil blot skabe et skema og sende det tilbage.for at udnytte det, vi bruger lua er kræver metode.der tilføjes følgende til vigtigste. lua,.,,, lokale gamedata = kræver ("gamedata"), kan vi tilføje, nøgler, gamedata,, der vil være faux, global, variabler.tag et kig på følgende eksempel.,,, gamedata.invadernum = 1 - - plejede at holde styr på det niveau, vi er på gamedata.maxlevels = 3 - max antal niveauer vil spillet har gamedata.rowsofinvaders = 4 - - hvor mange rækker af indtrængende til at skabe, når vi ønsker at få adgang til disse variabler, alt vi skal gøre er at brug den, kræver funktion til last, gamedata. lua,.hver gang du lader en modul, der anvender lua er kræver, funktion, det tilføjer modul, til en, package.loaded, tabel.hvis du lader en modul, package.loaded, tabel er kontrolleret, først for at se, om modulet er allerede fuld.hvis det er, så det bruger skjult modul i stedet for det igen. - 9.kræver komponist, før vi kan bruge komponist modul, må vi først kræver det.der tilføjes følgende til vigtigste. lua,.,, lokale komponist = kræver ("komponist"), 10.lad det starte scene, tilføje følgende kode snippet til , main. lua,. dette vil gøre anvendelsen på gerningsstedet ved navn , start, som også er en lua fil, , start. lua,.du behøver ikke at vedlægge sagen udvidelse, når det , gotoscene, funktion.,,, komponist. gotoscene ("start"), 11.start scene, skabe en ny lua fil ved navn, start.lua i projektets vigtigste fortegnelse.dette vil være en komponist sagsakter, som betyder, at vi skal kræve komponist modul og skabe en komponist scene.der tilføjes følgende indlæg til start. lua,.,, lokale komponist = kræver ("komponist") lokale scene = komponist. newscene() tilbage scene, er opfordringen til, newscene, gør, start.lua, en del af komponist er scene hierarki.det betyder, at det bliver en skærm i den kamp, som vi kan kalde komponist metoder.,, fra nu af, koden suppleres, start.lua, skal være placeret over, afkast, erklæring.,,, 11.de variabler, som er de lokale variabler, er vi nødt til, første scene.,,, lokale startbutton..., der anvendes til at starte spillet lokale pulsatingtext = kræver ("pulsatingtext") - et modul, der giver en pulserende tekst virkning lokalt starfieldgenerator = kræver ("starfieldgenerator") - et modul, som genererer starfieldgenerator lokale stargenerator... et tilfælde af starfieldgenerator, er det vigtigt at forstå, at lokale variabler i den vigtigste del bliver kun ringet en gang, når gerningsstedet er lastet for første gang.hvornår sejler gennem komponist scener, f.eks. ved anvendelse af metoder, som , gotoscence, den lokale variabler allerede vil blive igangsat.,, det er vigtigt at huske på, hvis du vil have den lokale variabler, der skal reinitialized når, navigation tilbage til et bestemt sted.den letteste måde at gøre det på er at fjerne den scene fra komponisten hierarki ved at, removescence metode. , næste gang du navigere på scenen, det vil automatisk blive ladt.det er den tilgang, vi tager i denne forelæsning.,,,, pulsatingtext, og starfieldgenerator, er to skik moduler, skaber vi tilføjer klasse som funktioner til projektet.skabe to nye sager i deres projekt folder, der hedder, pulsatingtext.lua, og starfieldgenerator. lua,., 12.skitse begivenheder, hvis de har taget sig tid til at læse den dokumentation om komponist, som jeg sammen med tidligere, som de vil have bemærket dokumentationen omfatter en skabelon, som indeholder alle mulige, komponist begivenhed.disse bemærkninger er meget nyttige, idet de angiver, hvilke arrangementer for at forhandle om initialiserer aktiver, timers osv. vi er interesseret i, scene: skabe, scene: vis, og scene: skjule, metoder til denne forelæsning.,,, trin 1:, scene: skabe, tilsættes følgende kode snippet til begynd. lua,.,,, funktion scene: skabe (tilfælde) lokal gruppe = self.view startbutton = opvisning. newimage ("new_game_btn. men heller ikke dér er menneskene sikre" display. contentcenterx, display. contentcentery + 100) gruppe: indsæt (startbutton), og denne metode kaldes når gerningsstedet er opfattelse eksisterer ikke endnu..det er her, du skal nulstille display genstande og tilføje dem på stedet.den , gruppe, variable påpeger, selv mener, der er en, groupobject, for hele den scene.,, skaber vi , startbutton, ved at anvende den, display, objekt er, newimage, metode, som tager sit parametre, vejen til image og, x, og y, værdier for image er position på skærmen.,,, trin 2:, scene: show, komponist, scene: viser, metode er to faser.den vil, fase kaldes når gerningsstedet er stadig væk, men er ved at komme på.de gjorde, fase kaldes, når gerningsstedet er på skærmen.er det her, du vil tilføje kode for at gøre stedet kom til live, ure, tilføje begivenhed lyttere, spille lyd osv.,,, i denne forelæsning, vi kun er interesseret i, er fase.der tilføjes følgende kode snippet, start. lua,.,, funktion scene: vis (tilfælde) lokale fase = event.phase lokale previousscene = komponist. getscenename ("tidligere"), hvis previousscene ~ = 0) og komponist. removescene (previousscene), hvis (fase = = "har") addeventlistener startbutton: ("bank", startgame), erklærer vi, en lokal variabel, fase, som vi bruger til at undersøge, hvilke fase, viser, at metoden er i.vi vil komme tilbage til scenen senere i spillet, vi ser efter, om der er en sidste scene, og, i bekræftende fald, fjern det.vi lægger et, tap, til at lytte til det, startbutton, kalder den, startgame,.,,, trin 3:, scene: skjule, komponist, er , scene: skjule, metode har også to faser.den , fase kaldes når gerningsstedet er på skærmen, men er ved at gå væk.her vil du ønsker at stoppe tiden, fjerne begivenhed lyttere, stop lyd osv. de har, fase kaldes når gerningsstedet er forsvundet fra skærmen.,,, på det pædagogiske, vi kun er interesseret i det, vil fase, hvor vi fjerner , tap , lytter fra , startbutton,.,,, funktion scene: skjule (tilfælde) lokale fase = event.phase hvis (fase = = "vil"), så startbutton: removeeventlistener ("bank", startgame), 16.start spillet,,, startgame, funktion kaldes, når brugeren haner, startbutton,. i denne funktion, påberåber vi , gotoscene, komponist metode, , som vil føre os til den , gamelevel, scene.,, funktion startgame() komponist. gotoscene ("gamelevel"), 17.spil niveau scene, skabe en ny fil ved navn, gamelevel.lua, og tilføje følgende kode til det. bør det ser bekendt ud.vi er ved at skabe en ny scene og returnerer det.,,, lokale komponist = kræver ("komponist") lokale scene = komponist. newscene() tilbage scene, 18. tilføje scene lyttere, er vi nødt til at tilføje scene lyttere for skabe, vis, og skjule, metoder.der tilføjes følgende kode til start. lua,.,,, scene: addeventlistener ("skaber", scene) scene: addeventlistener ("program", scene) scene: addeventlistener ("gemme", scene), 19.test fremskridt, hvis du tester kampen nu, du burde se en sort skærm med en knap, du kan godt.banken skal tage dig til, gamelevel, scene, som nu er bare en tom skærm.,,, konklusion, det bringer denne del af den række til en tæt på.i næste del, vil vi begynde at gennemføre spillet er gameplay.tak for at læse og se dig i anden del af denne serie.
skabe en space lnvaders spil i corona: projekt fælde
Previous:hurtig tip: gearing magt så gemme
Next Page:105 8: hvad er nyt i spritekit, del 2