În această serie de tutori, vă voi arăta cum să creați un joc de puzzle bazat pe fizică în Corona SDK. Veți învăța despre manipularea fizică și comenzile de atingere. Obiectivul jocului este de a obține mingea în container atingând cutiile corecte. Citește mai departe!
Folosind grafică pre-făcută, vom codifica un joc distractiv folosind API-urile Lua și Corona SDK.
Playerul va putea să utilizeze ecranul tactil de pe dispozitiv pentru a elimina casetele de pe scenă. Puteți modifica parametrii din cod pentru a personaliza jocul.
Mai întâi vom selecta platforma pe care dorim să o executăm în cadrul aplicației. Acest lucru ne va permite să alegem dimensiunea imaginilor pe care le vom folosi.
Platforma iOS are următoarele caracteristici.
Deoarece Android este o platformă deschisă, există multe dispozitive și rezoluții diferite. Iată câteva dintre cele mai comune caracteristici ale ecranului.
În acest tutorial ne vom concentra pe platforma iOS cu designul grafic, dezvoltând-o special pentru a fi distribuită pe un iPhone / iPod touch. Codul prezentat aici ar trebui să se aplice și dezvoltării Android cu SDK Corona.
O interfață simplă și prietenoasă va fi utilizată. Aceasta implică mai multe forme, butoane, imagini bitmap și multe altele.
Resursele de interfață grafice necesare pentru acest tutorial pot fi găsite în descărcarea atașată.
În funcție de dispozitivul pe care l-ați selectat, este posibil să fie necesar să exportați grafica în PPI recomandat. Puteți face acest lucru în editorul dvs. preferat de imagine.
Am folosit Reglați dimensiunea ... funcția în previzualizare aplicație pe Mac OS X.
Nu uitați să dați imaginilor un nume descriptiv și să le salvați în dosarul proiectului.
Un fișier extern va fi utilizat pentru a face ca aplicația să fie complet ecranată pe toate dispozitivele. Acesta este config.lua fişier. Acest fișier arată dimensiunea originală a ecranului și metoda utilizată pentru a scala acel conținut în cazul în care aplicația este rulată într-o altă rezoluție a ecranului.
aplicație = content = width = 320, height = 480, scale = "letterbox",
Să scriem cererea!
Deschide-ți editorul preferat Lua și pregătește-te să-ți scriu aplicația minunată. Nu uitați să salvați fișierul ca main.lua în dosarul proiectului.
Ne vom structura codul ca și cum ar fi a Clasă. Daca stii ActionScript sau Java, veți găsi structura familiară.
Variabile și constante de clase variabile Declare funcții contructor (funcție principală) metode de clasă (alte funcții) apel funcția principală
display.setStatusBar (display.HiddenStatusBar)
Acest cod ascunde bara de stare. Bara de stare este bara din partea de sus a ecranului dispozitivului, care afișează ora, semnalul și alți indicatori.
Vom folosi biblioteca fizică pentru a face față coliziunilor. Utilizați codul de mai jos pentru al importa.
-- Fizica fizica locala = necesita (fizica) fizica.start ()
Un grafic simplu este utilizat ca fundal pentru interfața aplicației. Următoarea linie de cod îl stochează.
-- Grafică - [Background] local bg = display.newImage ('bg.png')
Aceasta este afișarea titlurilor. Acesta va fi primul ecran interactiv care va apărea în jocul nostru. Aceste variabile stochează componentele sale.
-- [Title View] titlu local local playBtn local creditsBtn title localView
Această vizualizare va afișa creditele și drepturile de autor ale jocului, iar această variabilă va fi utilizată pentru a fi stocată.
-- [CreditsView] credite locale
Cutiile creează nivelul. Există trei dimensiuni în această aplicație.
Un mesaj de instrucțiuni va apărea la începutul jocului. Se va completa după două secunde.
-- Instrucțiuni locale ins
Acesta este graficul mingii. Obiectivul jocului este de a plasa acest element în caseta de goluri.
-- Ball minge locală
Acest cod stochează graficul casetei de țintă.
-- Cutia de gloanțe la nivel local
Aceasta este alerta care va fi afișată când câștigi jocul. Va termina nivelul și va încheia jocul.
-- Alertă alertă localăVizualizare
Vom folosi efecte sonore pentru a spori sentimentul jocului. Sunetele folosite în această aplicație au fost generate de AS3SFXR.
-- Suna local win = audio.loadSound ('win.caf')
Acestea sunt variabilele pe care le vom folosi. Citiți comentariile din cod pentru a afla mai multe despre ele.
-- Variabile locale lvlImg - stochează titlul imaginii curente
Declarați toate funcțiile ca local la inceput.
-- Funcții locale Main = locale startButtonListeners = locale showCredits = locale hideCredits = locală showGameView = local addBox = local removeBox =
Apoi vom crea funcția care va inițializa toată logica jocului.
funcția principal () - cod ... sfârșit
Acum plasăm TitleView în stadiu și apelați o funcție care va adăuga Atingeți ascultători de butoane.
funcția Main () titleBg = display.newImage ('titleBg.png', 84, 12) playBtn = display.newImage ('playBtn.png', 220, 150) creditsBtn = 202) titleView = display.newGroup (titleBg, playBtn, creditsBtn) startButtonListeners ('adăuga') sfârșit
În această parte a seriei, am aflat despre interfața și configurarea de bază a jocului. În următoarea și ultima parte a seriei, vom gestiona crearea de niveluri, detectarea coliziunilor și pașii finali înainte de lansare. Vom trece prin testarea aplicațiilor, creând un ecran de pornire, adăugând o pictogramă și, în sfârșit, construind aplicația. Rămâi acordat pentru partea finală!