Lag en Plane slåssespill i Corona: Interface

Create a Plane slåssespill i Corona: Interface
17
Del
6
Del

Denne Cyber ​​Monday Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av
Dette innlegget er en del av en serie som heter Opprett en Plane slåssespill i Corona.Create a Plane slåssespill i Corona. GameplayWhat du skal lage
Innledning

I denne korte serien vil jeg skal vise deg hvordan du oppretter en plan slåssespill som minner om den gamle 1942 arkadespillet. Underveis vil du lære om Corona er dreiebok funksjonalitet, timere, flytte et tegn, og litt trigonometri.

Grafikken brukes i denne opplæringen ble skapt av Ari Feldman og gitt under Common Public License, noe som betyr at de er gratis å bruke. Sørg for å sjekke ut Ari Feldmans SpriteLib. La oss komme i gang.

1. Nytt prosjekt

Åpne Corona Simulator, klikker du Nytt prosjekt, og konfigurere prosjektet som vist nedenfor. Velg hvor du vil lagre prosjektet, og klikk OK. Dette vil opprette en mappe med et antall ikoner og tre filer som er viktige for oss, main.lua, config.lua, og build.settings. Vi vil ta en titt på hver fil i de neste trinnene.

2. Build.Settings

build.settings filen er ansvarlig for oppbygging tids egenskapene til prosjektet. Åpne denne filen, fjerne innholdet, og fylle den med følgende kodebiten.
Settings = {orientering = {default = "portrett", støttet = {"portrett"},}} < p> I build.settings, setter vi standard orientering og begrenser anvendelsen å bare støtte et stående format. Du kan finne ut hvilke andre innstillinger du kan inkludere i build.settings BY utforske Corona dokumentasjon.

3. Config.lua

config.lua
filreferanser konfigurasjon for programmet. Som vi gjorde med build.settings
, åpne denne filen, fjerne innholdet, og legge til følgende kode.
Søknad = {content = {width = 768, height = 1024, skala = "letterbox", fps = 30}}

Dette setter standard bredde og høyde på skjermen, bruker letterbox
å skalere bilder og setter rammer per sekund til 30.
< p> Du kan lære hva andre egenskaper du kan sette i config.lua ved å sjekke ut Corona dokumentasjon.

4. Main.lua

main.lua filen er den filen som programmet laster først og bruker til bootstrap søknaden. Vi skal bruke

main.lua
å sette noen standardinnstillingene for programmet, og Storyboard
modul for å laste det første skjermbildet.

Hvis du ikke er kjent med Corona Storyboard modul, så jeg anbefaler å gi Dokumentasjonen en rask lese. Kort sagt, er Storyboard den innebygde løsningen på scene ("skjermer") etablering og styring i Corona. Dette biblioteket gir utviklere en enkel måte å opprette og overgangen mellom enkeltscener.

5. Skjule statuslinjen

Vi ønsker ikke statuslinjen viser i søknaden vår. Legg inn følgende kode til main.lua å skjule statuslinjen.
Display.setStatusBar (display.HiddenStatusBar)
6. Bruk standard festepunkter

For å sette standard anker (registreringspunkter) legg følgende til main.lua.
Display.setDefault ("anchorX", 0) display.setDefault ( "anchorY", 0)

anchorX og anchorY egenskaper angi hvor du vil registreringspunktet av visningsobjekter å være. Legg merke til at verdien varierer fra 0.0 til 1.0. For eksempel, hvis du ønsker registreringspunkt for å være i sentrum av skjermen objekt, så du hadde satt begge eiendommene til 0,5.

7. Seed Random Generator

Spillet vårt skal bruke Lua er Math.random funksjon for å generere tilfeldige tall. For å være sikker på at tallene er helt tilfeldig hver gang programmet kjøres, må du oppgi en startverdi. Hvis du ikke oppgir en startverdi, vil programmet generere samme tilfeldig hver gang.

En god startverdi er Lua er os.time funksjon siden det vil være forskjellig hver gang programmet kjøres. Legg inn følgende kode til main.lua
.
Math.randomseed (os.time ())
8. Krev Storyboard

Før vi kan bruke Storyboard-modulen, må vi først trenger det. Legg til følgende til main.lua.
Lokal dreiebok = krever "storyboard"
9. Legge Start Screen

Tast inn følgende kode under streken der du pålagt storyboardet modulen.
Storyboard.gotoScene ("start")

Dette vil gjøre programmet gå til skjermen navnet start
, som også er en Lua fil, start.lua
. Du trenger ikke å legge den filtypen når du ringer gotoScene funksjonen.

10. Begynn Screen

Opprett en ny Lua fil med navnet start.lua
i prosjektets hovedkatalog. Dette vil være et storyboard-fil, noe som betyr at vi må kreve at Storyboard modul og lage et storyboard scene. Legg til følgende tekstutdraget til start.lua
.
Lokal dreiebok = require ("storyboard") lokale scenen = storyboard.newScene () Kallet til newScene gjør start.lua
del av programmets storyboard. Dette betyr at det blir en skjerm i spillet, som vi kan kalle storyboard metoder på.

11. Lokale variabler

Vi trenger bare en lokal variabel, startknappen, i hoved del av start.lua
. Denne lokale variabelen brukes til å referere til startknappen i denne scenen.
Lokale startknappen

Det er viktig å forstå at lokale variabler i hoved blings bare bli kalt en gang, når scenen er lastet for første gang. Når du navigerer gjennom dreieboken, for eksempel ved å påberope metoder som gotoScence, vil de lokale variablene allerede initialisert.

Dette er viktig å huske på hvis du vil at lokale variabler å bli klargjort på nytt når du navigerer tilbake til en bestemt scene . Den enkleste måten å gjøre dette på er å fjerne scene fra dreieboken ved å ringe removeScence metoden. Neste gang du navigere til den scenen, vil det automatisk bli lastet inn på nytt. Det er tilnærmingen vi skal ta i denne opplæringen.

12. Storyboard Hendelser

Hvis du har tatt deg tid til å lese dokumentasjonen på storyboards jeg linket til tidligere, vil du ha lagt merke til dokumentasjonen inneholder en mal som inneholder alle mulige dreiebok hendelsen. Kommentarene er svært nyttig som de indikerer hvilke hendelser å utnytte for initialisering eiendeler, timere, osv

Malen kan virke litt overveldende i starten. Men for denne opplæringen, er vi bare interessert i tre hendelser, createScene, enterScene, og exitScene.

13. Opprett Scene

Legg til følgende snippet til start.lua
funksjon scene. CreateScene (hendelse) lokal gruppe = self.view lokal bakgrunn = display.newRect (0, 0 , display.contentWidth, display.contentHeight) bakgrunn: setFillColor (0, 0,39, 0,75) gruppe: sett (bakgrunn) lokal bigplane = display.newImage ("bigplane.png", 0,0) gruppe: sett (bigplane) startknappen = display.newImage ("startbutton.png", 264670) gruppe: sett (startknappen) end

Denne metoden kalles når scenen syn ikke finnes ennå. Det er her du skal initialisere visningsobjekter og legge dem til åstedet. Gruppen variable peker til self.view, som er en GroupObject for hele scenen.

Vi deretter tegne et rektangel for bakgrunnen. Corona visningsobjektet kommer med noen tegne metoder, for eksempel newCircle, linjeskift, og som vises i tekstutdraget, newRect. Vi påkalle også setFillColor å gi rektangelet en blåaktig farge. Parametrene vi passerer er prosenter.

Vi setter bakgrunnen inn i gruppen. Det er viktig å sette inn visningsobjekter inn utsikten gruppe for å sørge for at de blir fjernet når hovedvisningen fjernes. Til slutt oppretter på startknappen og legge den til i gruppen også. Displayet objektet har newImage metode, som tar som parametere banen til bildet og x- og y-verdiene for bildets posisjon på skjermen.

14. Skriv inn Scene

enterScene metoden kalles umiddelbart etter at scenen har flyttet på skjermen. Det er der du kan legge hendelsen lyttere, start timere, last lyd osv Legg til følgende biten under koden du la i forrige trinn
funksjon scene. EnterScene (hendelse) startknappen: addEventListener ("trykk "startGame) end

I enterScene, legger vi til en hendelse lytteren til startknappen, som vil kalle startGame funksjon når brukerne kraner på startknappen.

15. Avslutt Scene

exitScene metoden kalles når scenen er i ferd med å bevege seg utenfor skjermen. Det er der du vil angre
uansett hva du setter opp i enterScene metode, for eksempel fjerning av hendelsen lyttere, stoppe tidtakere, losse lyd, etc. Legg til følgende biten under koden du la i forrige trinn.
funksjon scene: exitScene (hendelse) startknappen: removeEventListener ("tap", startGame) end

Alt vi gjør i exitScene metoden er å fjerne tilfelle lytteren vi lagt til startknappen

16.. Start spillet

startGame funksjonen er enkel. Det har dreieboken belastning gamelevel
scene.
Funksjon startGame () storyboard.gotoScene ("gamelevel") end
17. Legge Lyttere til Scene

Etter å ha lagt de createScene, enterScene og exitScene metoder, må vi registrere scenen for å lytte etter disse hendelsene. Skriv inn følgende kode for å gjøre dette
scene. AddEventListener ("createScene", scene) scenen: addEventListener ("enterScene", scene) scenen: addEventListener ("exitScene", scene)
18. Returner Scene

Det siste du må sørge for at du gjør i et storyboard er tilbake på scenen, fordi det er en modul.
Retur scene
19. Legge til GameLevel scene

Før vi kan teste vår fremgang, må vi legge til gamelevel
scene. Opprett en ny Lua fil i prosjektets hovedkatalog og gi den navnet gamelevel.lua
. Legg inn følgende kode til filen du nettopp har opprettet.
Lokal dreiebok = require ("storyboard") lokale scenen = storyboard.newScene () avkastning scene

Som vi så tidligere, må vi først krever dreieboken modulen opprette en ny scene, og returnere scenen. gamelevel
scene er scenen der vil vi gjennomføre gameplay av spillet.

Konklusjon

Dette bringer den første en del av denne serien til en avslutning. I neste del av denne serien, vil vi begynne å implementere spillets gameplay. Takk for lesing og jeg vil se deg der.