Dette er den andre avgiften i Corona SDK Sound Memory-opplæringen. I dagens veiledning legger vi til grensesnittet og spillets interaksjon. Les videre!
Vær så snill å sjekke del en av seriene for å forstå og forberede deg på denne opplæringen.
Denne funksjonen legger til de nødvendige lytterne til Tittelvisning knapper.
funksjon startButtonListeners (action) hvis (action == 'add') så spillBtn: addEventListener ('tap', showGameView) kreditterBtn: addEventListener ('tap', showCredit) annet playBtn: removeEventListener ('tap', showGameView) creditsBtn: removeEventListener "trykk", showCredits) slutten
De studiepoeng skjermen vises når brukeren tapper Handle om knapp, en trykklytter legges til kredittvisningen for å fjerne den.
funksjonsvisningKreditter: trykk (e) playBtn.isVisible = false creditsBtn.isVisible = false creditsView = display.newImage ('credits.png', 0, display.contentHeight) lastY = title.y transition.to (title, time = 300 , y = display.contentHeight * 0.5 - title.height - 25) transition.to (creditsView, time = 300, y = display.contentHeight * 0,5 + creditsView.height, onComplete = function () kreditterVis: addEventListener ', hideCredits) end) slutt
Når studiepoeng skjermen er tappet, den blir tweened ut av scenen og fjernet.
funksjon hideCredits: trykk (e) overgang.to (kreditterVis, time = 300, y = display.contentHeight, onComplete = funksjon () kreditterBtn.isVisible = true playBtn.isVisible = true creditsView: removeEventListener ('tap', hideCredits) .remove (creditsView) creditsView = null end) transition.to (title, time = 300, y = lastY); slutt
Når Spille knappen er tappet, tittelvisningen er tweened og fjernet avslørende spillvisningen. Det er mange deler involvert i denne visningen, så vi deler dem opp i de neste trinnene.
funksjon showGameView: trykk (e) transition.to (titleView, time = 300, x = -titleView.height, onComplete = funksjon () startButtonListeners ('rmv') display.remove (titleView) titleView = null end)
Denne koden plasserer spillknappens bilder i scenen.
-- Legg til firkanter r.gfx = display.newImage ('red.png', 75, 155) g.gfx = display.newImage ('green.png', 165, 155) ye.gfx = display.newImage ('yellow.png ', 75, 245) b.gfx = display.newImage (' blue.png ', 165, 245) r.gfx.name =' r 'g.gfx.name =' g 'ye.gfx.name =' ye 'b.gfx.name =' b '
Følgende linjer vil legge til bruksanvisning melding, vis den i to sekunder og fade den ut.
-- Instruksjoner Melding lokale ins = display.newImage ('message.png', 61, 373) transition.from (ins, time = 200, alpha = 0.1, onComplete = funksjon () timer.performWithDelay (2000, funksjon () overgang. til (ins, time = 200, alpha = 0,1, onComplete = funksjon () display.remove (ins) ins = nil gameTimer = timer.performWithDelay (500, playLevel, #currentLevel) ende) ende) ende)
Denne knappen brukes til å teste brukerinngangene og sørge for at den er lik lydnivået. Den er usynlig som standard.
-- Kontroller knappkontroll = display.newImage ('checkBtn.png', 135, 406) check.isVisible = false
Denne funksjonen legger til de nødvendige lytterne for å starte spilllogikken.
funksjon spilllistere (handling) hvis (handling == 'legg til') deretter r.gfx: addEventListener ('tap', onTap) g.gfx: addEventListener ('tap', onTap) ye.gfx: addEventListener ) b.gfx: addEventListener ('tap', onTap) sjekk: addEventListener ('tap', checkInput) ellers r.gfx: removeEventListener ('tap', onTap) g.gfx: removeEventListener ('tap', onTap) gfx: removeEventListener ('tap', onTap) b.gfx: removeEventListener ('tap', onTap) sjekk: removeEventListener ('tap', checkInput) gameTimer = null ende
Denne funksjonen leser nåværende nivå variabel for å bestemme hvilket nivå som skal spilles. Den bruker også en overgang for å visuelt peke på knappen som er knyttet til lyden. Når nivåsekvensen er ferdig, vil kryss av knappen blir synlig.
funksjon playLevel () hvis (ganger <= #currentLevel) then transition.from(currentLevel[times].gfx, time = 200, alpha = 0.1) audio.play(currentLevel[times].s) times = times + 1 end if(times == #currentLevel+1) then check.isVisible = true gameListeners('add') end end
Hvis du trykker på knappene i midten, ringes denne funksjonen. Det vil spille en lyd og registrere dens verdi i userinput bord. Denne tabellen vil bli brukt i neste funksjon for å sammenligne lydene.
funksjon onTap (e) hvis (e.target.name == 'r') deretter table.insert (userInput, r.gfx) audio.play (rs) transition.from (e.target, time = 200, alfa = 0,1) elseif (e.target.name == 'g') deretter table.insert (userInput, g.gfx) audio.play (gs) transition.from (e.target, time = 200, alfa = 0,1 ) elseif (e.target.name == 'ye') deretter table.insert (userInput, ye.gfx) audio.play (ye.s) transition.from (e.target, time = 200, alfa = 0,1 ) elseif (e.target.name == 'b') deretter table.insert (userInput, b.gfx) audio.play (bs) transition.from (e.target, time = 200, alfa = 0,1) slutten slutt
Denne funksjonen sammenligner navnene på knappene som trykkes på nivåbordet, og kaller et varsel med tilhørende melding.
funksjon checkInput (e) check.isVisible = false for i = 1, #currentLevel gjør hvis (userInput [i] .name == currentLevel [i] .gfx.name) deretter korrigere = korrigere + 1 ende ende hvis (riktig == #currentLevel) så varsel ("seier") annet varsling ("tap") slutten
De Varsling funksjonen oppretter en varselvisning, animerer den og slutter spillet.
funksjonalarm (handling) gameListeners ('rmv') hvis (handling == 'tap') så alertView = display.newImage ('lose.png', 110, 218) annet alertView = display.newImage ('win.png' 110, 218) endeovergang.fra (alarmView, tid = 200, alfa = 0,1) ende
For å starte spillet, er Hoved funksjonen må kalles. Vi gjør det her med den ovennevnte koden på plass.
Hoved()
De Default.png fil er et bilde som vises riktig når du starter programmet mens iOS laster de grunnleggende dataene for å vise hovedskjermbildet. Legg til dette bildet i prosjektkildemappen; Det blir automatisk lagt til av Corona compliler.
Ved å bruke grafikken du opprettet før, kan du nå lage et fint ikon. Ikonstørrelsen for en iPhone uten retina-skjerm er 57x57px, men retina-versjonen er 114x114px og iTunes-butikken krever en 512x512px-versjon. Jeg anbefaler å lage 512x512 versjonen først og skalere ned for de andre størrelsene.
iTunes og iPhone vil skape de avrundede hjørnene og gjennomsiktig blending.
Det er på tide å gjøre den endelige testen. Åpne Corona Simulator, bla til prosjektmappen din, og klikk Åpne. Hvis alt fungerer som forventet, er du klar for det siste trinnet!
I Corona Simulator gå til Fil og Bygg og velg målrettingsenheten. Fyll ut de nødvendige dataene og klikk bygge. Vent noen få sekunder, og appen din vil være klar for testing av enheten og / eller innsending for distribusjon!
I denne serien har vi lært om lydopplasting, spilling og tabell sammenligning. Dette er ferdigheter som kan være svært nyttige i et stort antall spill.
Du kan eksperimentere med det endelige resultatet, og prøve å lage din egendefinerte versjon av spillet!
Jeg håper du likte denne opplæringsserien og fant den nyttig. Takk for at du leser!