Aceasta este cea de-a doua tranșă din tutorialul nostru Corona SDK Apple Catcher. În tutorialul de astăzi, vom adăuga la interfața noastră prin crearea interacțiunii jocului. Citește mai departe!
Asigurați-vă că verificați partea 1 din seria să înțeleagă pe deplin și să se pregătească pentru acest tutorial.
Această funcție adaugă ascultătorilor necesari la TitleView butoane.
funcția startButtonListeners (acțiune) dacă (action == 'add') atunci titleBg: addEventListener ('tap', showGameView) creditsBtn: addEventListener 'tap', showCredits) sfârșitul final
Ecranul creditelor este afișat atunci când utilizatorul apasă butonul aproximativ. A Atingeți ascultător se adaugă la vizualizarea creditelor pentru al elimina.
(time = 300, x = 65, onComplete = total = function () creditsView: addEventListener ('tap', hideCredits) end) sfârșit
Când ecranul de credite este atins, acesta va fi completat din scenă și eliminat.
funcția ascundeCredități: apăsați (e) creditsBtn.isVisible = adevărat transition.to (crediteView, time = 300, y = display.contentHeight + creditsView.height, onComplete = function () creditsView: removeEventListener ('tap', hideCredits). ștergeți (creditsView) creditsView = nil end) sfârșit
Cand start butonul este atins, vizualizarea titlului este completat și eliminat, dezvăluind vizualizarea jocului. Există multe părți implicate în această viziune, așa că 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ă coșul pe scenă.
-- Coșul de coș = display.newImage ('basket.png', 203, 240)
Apoi adăugăm imaginea barei de informații și creăm textul corespunzător care va afișa scorul curent și timpul rămas.
-- Info Bar InfoBar = display.newImage ('infoBar.png', 280) scor = display.newText ('0', 65, -2, native.systemFontBold, 14) scor: setTextColor (0) timeLeft = 20 ', 175, -2, native.systemFontBold, 14) timeLeft: setTextColor (0)
Acum adăugăm fizica în coș și sunăm funcția care va adăuga ascultătorii jocului.
-- Adăugați fizica physics.addBody (coș, 'static') - joc ascultători jocListeners ('adaugă')
Această funcție adaugă ascultătorii necesari pentru a porni logica jocului.
funcția gameListeners (acțiune) dacă (action == 'add') apoi timerSrc = timer.performWithDelay (500, actualizare, 0) coș: addEventListener ('collision', onCollision) cos: addEventListener ('touch', dragBasket) else timer. anulează (timerSrc) timerSrc = coșul fără goluri: removeEventListener ('collision', onCollision) coș: removeEventListener ('touch', dragBasket) fizics.stop
Următorul cod utilizează fază pentru a trage coșul pe axa x folosind degetul jucatorului.
-- Drag Basket funcția dragBasket (e) dacă (e.phase == 'a început') apoi lastX = e.x - basket.x elseif (e.phase == 'mutat') apoi basket.x = e.x -
Funcția de actualizare este executată la fiecare jumătate de secundă. De fiecare dată când un număr aleator este generat și apoi testat pentru a vedea dacă un măr sau un stick va fi adăugat la etapă. Elementul este apoi adăugat la motorul fizicii și tras în jos automat prin gravitație.
actualizare funcție (e) - Adăugați Apple sau Stick locale rx = math.floor (math.random () * display.contentWidth) local r = math.floor (math.random () * 4) - 0, 1, 2 , sau 3 (3 este stick) dacă (r == 3) apoi stick local = display.newImage ('stick.png', rx, -20) stick.name = 'stick' fizics.addBody = display.newImage ('apple.png', rx, -40) apple.name = 'apple' fizics.addBody (măr) sfârșitul
Aici crestem timer variabilă la fiecare o jumătate de secundă, atunci când este egală cu 2, o secundă este scăzută de la timp rămas textfield.
-- Micșorați Timpul Timerului = ori + 1 dacă (ori == 2) apoi timeLeft.text = tostring (tonumber (timeLeft.text) - 1) ori = 0 sfârșit
Această parte verifică dacă timpul disponibil și-a sunat o alertă dacă este cazul.
-- Verificați dacă timerul se termină dacă (timeLeft.text == '0') apoi sfârșitul de alertă ()
Atunci când un măr atinge coșul, acesta este scos din scenă, scorul este actualizat și se afișează o animație afișând numărul de scor ridicat.
funcția onCollision (e) dacă (e.other.name == 'apple') apoi - Eliminați display.remove Apple (e.other) - Afișați animația locală scoreAnim = display.newText ('+ 10', basket.x , cos.y-10, native.systemFontBold, 16) transition.to (scoreAnim, timp = 600, y = scoreAnim.y - 30, alfa = 0, onComplete = function) score.remove (scoreAnim) end) - Actualizare scor score.text = tostring (tonumber (score.text) + 10)
Aceasta folosește aceeași metodă ca ultimul pas, de această dată scăzând scorul.
altfel (e.other.name == 'stick') apoi --Remove Stick display.remove (e.other) - Afișați animația locală scoreAnim = display.newText ('- 10', basket.x, basket.y- 10, native.systemFontBold, 16) transition.to (scoreAnim, timp = 600, y = scoreAnim.y - 30, alfa = 0, onComplete = function () Actualizați scorul score.text = tostring (tonumber (score.text) - 10) sfârșitul final
Această funcție va opri jocul și va afișa scorul final utilizând fundalul de avertizare și adăugarea acestuia.
(alertView, time = 300, xScale = 0.5, yScale = 0.5) totalScore local = display.newText (scor.text, display.contentCenterX-11, display.contentCenterY + 24, native.systemFontBold, 21) totalScore: setTextColor (72, 34, 0) final
Pentru a începe jocul, Principal funcția trebuie să fie numită. Cu codul de mai sus, vom face asta aici:
Principal()
Fișierul Default.png este o imagine care va fi afișată chiar când porniți aplicația în timp ce iOS î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 compilatorul Corona.
Utilizând grafica pe care ați creat-o înainte de a crea acum o pictogramă frumoasă și bună. Dimensiunea pictogramei pentru pictograma non-retina iPhone este de 57x57px, dar versiunea retinei este 114x114px și magazinul iTunes necesită o versiune de 512x512px. Vă sugerăm să creați prima versiune 512x512 și apoi să scalați pentru alte dimensiuni.
Nu trebuie să aibă colțurile rotunjite sau strălucirea transparentă, iTunes și iPhone-ul vor face asta pentru tine.
E timpul să facem testul final. Deschideți Simulatorul Corona, navigați în dosarul proiectului, apoi faceți clic pe Deschidere. Dacă totul funcționează așa cum era de așteptat, sunteți gata pentru ultimul pas!
În simulatorul Corona, du-te la Fișier> 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 gata pentru testarea dispozitivului și / sau trimiterea pentru distribuire!
Experimentați cu rezultatul final și încercați să faceți propria dvs. versiune 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!