În această serie, vă voi arăta cum să creați un joc Hangman simplu pentru Android. În fiecare tutorial, veți învăța o serie de aptitudini fundamentale pentru crearea de aplicații Android. Aplicația va conține două ecrane, include interacțiunea cu utilizatorii care implică adaptoare, va conține dialoguri și o bara de acțiune și va utiliza XML pentru stocarea datelor. Să începem.
Dacă sunteți un începător dezvoltator de Android cu una sau două aplicații de bază sub centură, atunci ar trebui să puteți completa aceste tutoriale fără prea multă dificultate.
Jocul va avea o structură simplă, de bază, astfel încât să puteți adăuga propriile dvs. îmbunătățiri atunci când ați terminat tutorialele. În această serie, voi indica pașii opționali pe care îi puteți include pentru a adăuga funcționalități suplimentare și pentru a îmbunătăți suportul pentru o gamă mai largă de dispozitive Android. Interfața cu utilizatorul, de exemplu, va fi simplă, dar vă încurajez să-i oferiți mai multă dragoste pentru a face jocul mai atrăgător. Următoarea imagine de ecran vă va oferi o imagine a rezultatului final.
Acest tutorial este împărțit în trei părți distincte.
Jocul nostru va fi un joc tradițional de tip Hangman. Acesta va alege un cuvânt aleatoriu, prezentând substituenți pentru fiecare literă, astfel încât utilizatorul să cunoască lungimea sa. Jocul va afișa, desigur, a spânzurătoare zonă și butoane pentru fiecare literă din alfabet. Ori de câte ori utilizatorul pune o literă, aplicația va verifica dacă cuvântul include litera. Dacă da, scrisoarea este descoperită în cuvânt. Dacă cuvântul nu conține litera selectată, o parte a corpului va fi afișată în zona spânzurare, începând cu capul. Utilizatorul poate face până la șase ghiciri greșite și poate câștiga încă jocul. Cu toate acestea, dacă fac o a șaptea greșeală, se termină jocul. Dacă jucătorul are nevoie de mai puțin de șapte presupuneri, ea câștigă jocul. Ești încă cu mine?
Creați un nou proiect Android în IDE (Integrated Development Environment), la alegere. În acest tutorial, voi folosi Eclipse. În Eclipse, selectați Nou> Proiect de la Fişier meniul. În Android secțiune, selectați Proiectul aplicației Android și faceți clic pe Următor →.
Introduceți o aplicație, un proiect și un nume de pachet. Pentru a menține lucrurile simple, aplicațiile țintesc API 16, dar este posibil să doriți să acceptați versiuni mai vechi. Dacă decideți să faceți acest lucru, va trebui să efectuați o prelucrare suplimentară. Clic Următor → a continua.
În Configurați proiectul fereastră, depinde de dvs. dacă doriți să creați o pictogramă personalizată. Cu toate acestea, asigurați-vă că verificați Creați activitate si Creați un proiect în spațiul de lucru casete de selectare. Clic Următor →.
Setați o pictogramă de lansator și faceți clic pe Următor →. În Creați activitate ecran, selectați Activitate clară și faceți clic pe Următor →.
Puteți modifica clasa de activitate și numele layout-ului, dacă preferați, dar numele implicit funcționează chiar bine. Clic finalizarea pentru a crea noul proiect.
Acum este momentul potrivit pentru a configura temele și stilurile asociate aplicației dvs. Pentru a potrivi aplicația demo, setați AppTheme
în tine res / valori / stiluri fișier XML la Android: Theme.Holo
. Setările implicite funcționează bine, însă interfața de utilizare a aplicației dvs. va fi diferită de capturile de ecran din acest tutorial.
Cererea noastră va prezenta un ecran intro cu un buton de redare către utilizator și un ecran separat pentru jocul propriu-zis. După cum puteți vedea în captura de ecran anterioară, ecranul folosit pentru joc include un număr de imagini pentru spânzurare și părți ale corpului. Sub spânzurare este zona pentru cuvântul pe care utilizatorul trebuie să îl ghicească și o grilă cu literele alfabetului. De asemenea, vom folosi o bară de acțiune pentru navigarea în joc și va conține, de asemenea, un buton de ajutor.
Vom avea nevoie de numeroase imagini pentru spânzurați, părțile corpului (cap, corp, brațe și picioare), butonul de ajutor și o imagine de fundal pentru ecranul intro. Puteți găsi aceste imagini în fișierele sursă ale acestui tutorial, pe care le puteți găsi în partea de sus a acestui tutorial. Rețineți că trebuie să creați imagini suplimentare dacă intenționați să vizați un set mai larg de dispozitive cu dimensiuni diferite ale ecranului.
Descărcați imaginile și adăugați-le la folderele desenate din directorul de proiect. Asigurați-vă că utilizați imagini potrivite pentru diferite densități ale ecranului pe Android.
Aplicația va utiliza, de asemenea, câteva resurse remarcabile pe care le putem defini ca forme în XML. Acestea includ fundalul pentru literele din cuvântul pe care trebuie să-l ghicească și fundalul pentru literele butoanelor (starea normală și evidențiată). Acestea vor trebui, de asemenea, adaptate la densitățile diferite ale ecranului pe care doriți ca aplicația dvs. să le suporte. Codul eșantion al acestui tutorial vă oferă un bun punct de plecare.
Să începem cu fundalul scrisorilor. Creați un fișier nou în desenele dvs. de proiect și denumiți-l letter_bg.xml.
Introduceți forma prezentată în fragmentul de cod de mai jos.
Dacă nu sunteți familiarizat cu crearea de forme în XML, acest lucru poate părea puțin confuz. Rezultatul este o subliniere, care va fi afișată ca fundal al fiecărei litere în cuvântul pe care trebuie să-l ghicească.
Dacă doriți să modificați dimensiunile unei forme pentru a viza diferite densități ale ecranului, luați în considerare utilizarea resurselor de dimensiuni. Acestea vă permit să utilizați același cod XML trasabil pentru toate densitățile ecranului, dar cu fiecare referință la valorile de dimensiuni adaptate ecranului în uz.Apoi, creați un alt fișier în programele de desenare ale proiectului dvs. pentru butoanele cu litere în starea lor inițială și denumiți-l letter_up.xml. Adăugați următorul fragment în fișierul pe care tocmai l-ați creat.
Simțiți-vă liber să modificați fragmentele de mai sus pentru a personaliza elementele interfeței utilizatorilor. Este important să vedeți resursele acestui tutorial ca îndrumare. Creați încă unul și trageți numele letter_down.xml. Vom folosi acest trasabil pentru butoanele cu litere în starea lor evidențiată, adică atunci când playerul apasă butonul.
Utilizatorul poate alege o singură literă în fiecare rundă a jocului. Aceasta înseamnă că fiecare literă sau buton este dezactivată din momentul în care utilizatorul a ales litera. Acest lucru se reflectă prin actualizarea fundalului butonului.
Vom schimba fundalul fiecărui buton folosind Java, în funcție de starea butonului, activată sau dezactivată. Pentru opțiuni mai avansate ale butoanelor, verificați folosind stările butoanelor.Să creăm fișierul de aspect principal pentru ecranul intro. Deschideți fișierul de aspect principal al proiectului și actualizați conținutul acestuia pentru a reflecta fragmentul de mai jos.
După cum puteți vedea, codul se referă la o resursă trasabilă care se poate afișa în fundal. Puteți să omiteți ImageView
dacă doriți. Dacă includeți imaginea, asigurați-vă că numele fișierului corespunde acestui cod. Aspectul include un singur buton pentru a reda jocul, dar puteți adăuga și alte butoane mai târziu, dacă doriți. De exemplu, ați putea adăuga nivele sau categorii la aplicație, în loc să alegeți pur și simplu un cuvânt aleatoriu dintr-o listă, așa cum o vom face în acest tutorial.
Să creăm câteva fișiere pe care le vom folosi în următoarele tutoriale. Mai întâi, adăugați oa doua clasă de activitate la proiect pentru jocul propriu-zis. Selectați pachetul din proiectul dvs. src director și alegeți Nou> Clasă de la Fişier meniul. Denumiți clasa GameActivity și stabilit android.app.Activity
ca superclaj.
Vom finaliza GameActivity
clasă mai târziu în această serie. Să creați acum un fișier de aspect pentru clasă. Adăugați un fișier nou în proiect schemă și denumiți-o activity_game.xml. Înlocuiți conținutul cu următorul fragment de mai jos.
Vom adăuga elemente la aspect data viitoare. Adaugă activitate
la fișierul manifest de proiect, după elementul principal activitate
, în interiorul cerere
element:
Am setat orientarea ecranului la portret. Dacă vă decideți să sprijiniți, de asemenea, o orientare peisaj în joc, atunci trebuie să eliminați atributul de orientare. De asemenea, specificăm activitatea principală ca părinte, ceea ce înseamnă că bara de acțiune poate fi utilizată pentru navigarea în joc. Vom vorbi mai multe despre acest lucru un pic mai târziu în acest tutorial.
Să terminăm acest tutorial pornind de la activarea gameplay-ului când utilizatorul pune butonul de redare. Deschideți fișierul Activitate principala
și începeți prin adăugarea următoarelor declarații de import.
import șiroid.content.Intent; import șiroid.view.View; importă android.view.View.OnClickListener; import șiroid.widget.Button;
Eclipse ar trebui să fi pre-populat Activitate principala
clasa cu un Activitate
clasă, inclusiv un onCreate
în care este setată vizualizarea conținutului. După setContentView
line, extrageți o referință la butonul de redare adăugat la aspectul principal și setați clasa pentru a asculta clicurile.
Buton playBtn = (buton) findViewById (R.id.playBtn); playBtn.setOnClickListener (aceasta);
Putem găsi butonul utilizând identificatorul pe care l-am setat în aspectul XML. Extindeți linia de deschidere a declarației de clasă pentru implementarea interfeței de ascultare a clicurilor după cum urmează.
clasa publică MainActivity extinde Activitatea implementează OnClickListener
Adaugă onClick
după metoda onCreate
așa cum se arată mai jos.
@Override public void onClick (vizualizare Vizualizare) // mâner clicuri
În cadrul acestei metode, verificăm dacă a fost apăsat butonul de redare și, dacă a fost, începeți activitatea de joc.
dacă (view.getId () == R.id.playBtn) intenția playIntent = intenția nouă (aceasta, GameActivity.class); this.startActivity (playIntent);
Acest lucru nu va avea prea mare efect în momentul în care nu am implementat încă activitatea de joc. Acesta este un lucru pe care îl vom face în următorul tutorial.
În acest tutorial, am creat fundația pentru aplicația Hangman. În următorul tutorial, vom construi elementele de interfață ale jocului și, în final, ne vom concentra pe aspectele interactive ale aplicației. Pe parcurs, vom explora adaptoare si bara de acțiune. De asemenea, vom stoca cuvântul răspunsuri în XML, le vom extrage când apare aplicația și vom alege unul la întâmplare de fiecare dată când utilizatorul joacă un joc.