Aceasta este a doua tranșă din tutorialul nostru Corona SDK Sound Memory. În tutorialul de astăzi, vom adăuga la interfața noastră și interacțiunea jocului. Citește mai departe!
Asigurați-vă că verificați partea întâi a seriei pentru a înțelege pe deplin și pentru a vă pregăti pentru acest tutorial.
Această funcție adaugă ascultătorilor necesari Vizualizarea titlurilor butoane.
funcția startButtonListeners (acțiune) dacă (action == 'add') atunci playBtn: addEventListener ('tap', showGameView) creditsBtn: addEventListener 'tap', showCredits) sfârșitul final
credite se afișează ecranul atunci când utilizatorul pictură Despre , se adaugă un ascultător de atingere în vizualizarea creditelor pentru al elimina.
funcția showCredități: apăsați (e) playBtn.isVisible = credite falseBtn.isVisible = credite falseView = 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 (crediteView, time = 300, y = display.contentHeight * 0.5 + creditsView.height, onComplete = function () creditsView: addEventListener ', hideCredits) end end
Cand credite ecranul este lovit, va fi completat din scenă și scos.
hideCredite: tap (e) transition.to (crediteView, time = 300, y = display.contentHeight, onComplete = function () creditsBtn.isVisible = true playBtn.isVisible = credite realeView: removeEventListener .remove (creditsView) creditsView = nil end) transition.to (titlu, timp = 300, y = lastY); Sfârșit
Cand Joaca butonul este apăsat, vizualizarea titlurilor este completată și eliminată dezvăluind vizualizarea jocului. Există multe părți implicate în această viziune, astfel încât le vom împărți în pașii următori.
funcția showGameView: atingeți (e) transition.to (titleView, time = 300, x = -titleView.height, onComplete = function () startButtonListeners ('rmv') display.remove (titleView) titleView =
Acest cod plasează imaginile butonului jocului în scenă.
-- Adăugați pătrate r.gfx = display.newImage ('red.png', 75, 155) g.gfx = display.newImage ('green.png', 165, 155) ye.gfx = display.newImage (' ', 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 '
Următoarele linii vor adăuga instrucțiuni mesaj, arătați-l timp de două secunde și apoi deconectați-l.
-- Instrucțiuni Mesaj local ins = display.newImage ('message.png', 61, 373) transition.from (ins, time = 200, alpha = 0.1, onComplete = function () timer.performWithDelay (2000, transition). (ins, time = 200, alpha = 0.1, onComplete = functie () display.remove (ins) ins = nil gameTimer = timer.performWithDelay (500, playLevel, #currentLevel)
Acest buton este folosit pentru a testa intrarea utilizatorului și pentru a vă asigura că acesta este egal cu sunetele de nivel. Este implicit invizibil.
-- Verificați butonul de verificare = display.newImage ('checkBtn.png', 135, 406) check.isVisible = false
Această funcție adaugă ascultătorii necesari pentru a porni logica jocului.
funcția gameListeners (acțiune) dacă (action == 'add') atunci r.gfx: addEventListener ('tap', onTap) g.gfx: addEventListener ('tap', onTap) ) b.gfx: addEventListener ('tap', onTap) verificați: addEventListener ('tap', checkInput) alt r.gfx: removeEventListener ('tap', onTap) g.gfx: removeEventListener ('tap', onTap) ye. gfx: removeEventListener ('atinge', onTap) b.gfx: removeEventListener ('atinge', onTap) verifica: removeEventListener ('tap', checkInput) gameTimer =
Această funcție citește nivelul actual variabilă pentru a determina ce nivel să joace. De asemenea, utilizează o tranziție pentru a indica vizual butonul asociat sunetului. Când secvența de nivel a fost terminată Verifica butonul devine vizibil.
funcția playLevel () dacă (de ori <= #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
Apăsând butoanele din centru veți apela această funcție. Acesta va reda un sunet și va înregistra valoarea acestuia în userInput masa. Acest tabel va fi utilizat în următoarea funcție pentru a compara sunetele.
funcția onTap (e) dacă (e.target.name == 'r') apoi table.insert (userInput, r.gfx) audio.play (rs) transition.from (e.target, time = 0.1) elseif (e.target.name == 'g') apoi table.insert (userInput, g.gfx) audio.play (gs) transition.from (e.target, time = 200, alpha = ) elseif (e.target.name == 'ye') apoi table.insert (userInput, ye.gfx) audio.play (ye.s) transition.from (e.target, time = 200, alpha = 0.1 ) elseif (e.target.name == 'b') apoi table.insert (userInput, b.gfx) audio.play (bs) transition.from (e.target, time = 200, alpha = 0.1 Sfârșit
Această funcție compară numele butoanelor apăsate în tabelul de nivel și apelează o alertă cu mesajul corespunzător.
funcția checkInput (e) check.isVisible = false pentru i = 1, #currentLevel do dacă (userInput [i] .name == currentLevel [i] .gfx.name) #currentLevel), apoi alertați ('win') alt alert ('lose') sfârșitul final
Alerta funcția creează o vizualizare de alertă, o animă și termină jocul.
('rmv') if (action == 'lose') atunci alertView = display.newImage ('lose.png', 110, 218) altar alertView = display.newImage 110, 218) final transition.from (alertView, time = 200, alpha = 0.1)
Pentru a începe jocul, Principal funcția trebuie să fie numită. Vom face asta cu codul de mai sus.
Principal()
Default.png fișierul este o imagine care va fi afișată chiar când porniți aplicația în timp ce iOS-ul încarcă datele de bază pentru a afișa ecranul principal. Adăugați această imagine în folderul sursă al proiectului; acesta va fi adăugat automat de către complilerul Corona.
Folosind grafica pe care ați creat-o înainte, puteți crea acum o pictogramă frumoasă. Dimensiunea pictogramei pentru un afișaj iPhone fără retină este de 57x57 px, însă versiunea retinei este 114x114px și magazinul iTunes necesită o versiune de 512x512px. Vă recomandăm să creați mai întâi versiunea 512x512 și să reduceți dimensiunile pentru celelalte dimensiuni.
iTunes și iPhone vor crea colțurile rotunjite și o strălucire transparentă.
E timpul să facem testul final. Deschideți Simulatorul Corona, navigați în dosarul proiectului și faceți clic pe Deschideți. Dacă totul funcționează așa cum era de așteptat, sunteți gata pentru ultimul pas!
În Simulatorul Corona mergeți la Fișier și construiți și selectați dispozitivul țintă. Completați datele solicitate și faceți clic pe construi. Așteptați câteva secunde și aplicația dvs. va fi pregătită pentru testarea dispozitivului și / sau trimiterea pentru distribuire!
În această serie, am învățat despre încărcarea, jocul și compararea tabelului. Acestea sunt abilități care pot fi foarte utile într-un număr mare de jocuri.
Puteți experimenta rezultatul final și încercați să faceți versiunea personalizată a jocului!
Sper că ți-a plăcut această serie de tutori și ți-a dat de ajutor. Mulțumesc că ați citit!