Tehnologiile jocurilor sunt în continuă evoluție. Cu toate acestea, multe elemente de joc de bază au rămas neschimbate de zeci de ani. Scorurile mari, clasamentele, questurile, realizările și suportul pentru multiplayeri sunt exemple. Dacă dezvoltați un joc pentru platforma Android, nu trebuie să implementați manual niciun element. Puteți folosi, în schimb, API-urile pentru servicii pentru jocuri Google Play.
În acest tutorial, vă vom arăta cum să creați un joc Android simplu, să adăugați servicii de jocuri Google Play și să utilizați API-urile pentru clasamente și realizări.
Pentru a putea urmări acest tutorial, veți avea nevoie de următoarele:
Nu este deloc plăcut să adăugați API-urile pentru serviciile de jocuri pentru jocuri la un proiect Android Android gol. De aceea, să creăm acum un joc în care utilizatorul câștigă puncte prin simpla apăsare pe un buton. Mai exact, obiectivul jocului va fi să faceți clic pe un buton cât mai des posibil în 60 de secunde.
Structura jocului va avea una Buton
widget, pe care utilizatorul o va face pentru a obține puncte și două TextView
widget-uri pentru a afișa scorul și timpul rămas. Dacă îi puneți pe toți în interiorul unui RelativeLayout
și centrați-le atât pe orizontală cât și pe verticală, ar trebui să aveți un fișier de aspect care arată astfel:
Jocul nostru va avea un ecran clasic și un ecran de realizări. Pentru a permite utilizatorului să navigheze către aceste ecrane, adăugați încă două Buton
widget-uri de la sfârșitul fișierului de aspect.
Rețineți că ambele butoane au onClick
atribute. Vom crea metodele Java la care se referă în etapele ulterioare.
În interiorul activității, creați variabile membre pentru gameplayy widget-urile pe care le-am definit în fișierul XML al aspectului. În plus, creați un int
variabilă pentru scor și a boolean
variabilă pentru starea jocului.
butonul privat mainButton; privat TextView scoreView; privat TextView timeView; int int int = 0; jocuri booleene private = false;
Inițializați widget-urile din interiorul activității onCreate ()
folosind metoda findViewById ()
metodă.
mainButton = (buton) findViewById (R.id.main_button); ScoreView = (TextView) findViewById (R.id.score_view); timeView = (TextView) findViewById (R.id.time_view);
Pentru a asculta clicurile pe Buton
widget, creați și adăugați un OnClickListener
la el.
mainButton.setOnClickListener (noul View.OnClickListener () @Override public void onClick (Vizualizare v) // Mai multe coduri intră aici);
Acum trebuie să implementăm următoarele cerințe:
scor
variabil.Putem folosi joc
pentru a face diferența între primul clic și toate clicurile ulterioare. Pentru a urmări timpul, putem folosi rezumatul CountDownTimer
clasa, care este ideal pentru cerințele noastre. Are un onTick ()
în interiorul metodei, care se poate actualiza cu exactitate timeView
pentru a afișa numărul de secunde rămase. De asemenea, are un onFinish ()
metodă, care se numește atunci când numărătoarea inversă se termină.
În consecință, adăugați următorul cod la onClick ()
metodă:
dacă (!!) // Primul clic pe joc = adevărat; mainButton.setText ("Păstrați clic"); // Initializeaza CountDownTimer la 60 de secunde noi CountDownTimer (60000, 1000) @Override public void onTick (lung millisUntilFinished) timeView.setText ("Timp rămas:" + millisUntilFinished / 1000); @Override public void peFinish () playing = false; timeView.setText ("Joc de peste"); mainButton.setVisibility (View.GONE); .start(); // Începeți cronometrul altceva // Punctajul clicurilor ulterioare ++; scoreView.setText ("Scor:" + scoruri + "puncte");
În acest moment, puteți rula proiectul pentru a juca acest joc.
Configurarea unui proiect pentru a utiliza API-urile pentru serviciile Play Games implică o mulțime de pași. Folosind Firebase Assistant pentru Android Studio, puteți automatiza unele dintre ele.
Deschide fereastra asistentului, mergând la Instrumente> Firebase. Apoi, în Google Analytics secțiune, faceți clic pe Conectați un eveniment Google Analytics legătură. Acum puteți conecta proiectul dvs. Android Studio la un proiect Firebase făcând clic pe Conectați la Firebase buton. Asigurați-vă că alegeți Creați un nou proiect Firebase opțiune din dialogul care apare.
Odată ce conexiunea a fost stabilită, apăsați pe Adăugați Google Analytics la aplicația dvs. pentru a adăuga toate modificările necesare la build.gradle fișiere.
Trebuie să adăugați manual dependența pentru serviciile Jocuri Play. De aceea, mergeți la build.gradle fișier al aplicaţia
și adăugați următoarele compila
dependenţă:
compile 'com.google.android.gms: play-services-games: 9.8.0'
Mai mult, API-urile pentru serviciile de jocuri au nevoie de un fișier de configurare XML. Creați unul apelat Jocuri-ids.xml în interiorul res / valori pliant. Vom adăuga conținut într-un pas mai târziu.
Toate jocurile care utilizează servicii de jocuri Google Play trebuie să fie înregistrate în consola dezvoltatorului Play. Va trebui să plătiți o taxă unică de înregistrare de 25 USD pentru a putea accesa consola.
În consola, faceți clic pe pictograma jocului pentru a deschide Servicii de jocuri ecran.
Apoi faceți clic pe Configurați serviciile de jocuri Google Play pentru a începe înregistrarea jocului.
În dialogul care apare, alegeți a doua filă deoarece jocul nostru utilizează deja API-uri Google. Acum trebuie să puteți vedea numele proiectului dvs. Firebase în lista proiectelor disponibile. După ce ați selectat-o, alegeți o categorie pentru joc. Pentru moment, puteți merge cu ocazional categorie.
După ce apăsați Continua, puteți să vă conectați la serviciile Firebase Analytics și la jocurile prin clic pe Link Firebase buton.
Apoi, mergeți la Aplicații corelate pentru a conecta proiectul Android Studio la consola dezvoltatorului Play. În dialogul care apare, apăsați pe Android și introduceți numele pachetului din proiect în Numele pachetului camp.
apasă pe Salveaza si continua pentru a genera un ID client pentru jocul dvs..
Jocul nostru a fost înregistrat cu succes în consola dezvoltatorului Google Play.
API-urile pentru serviciile de jocuri Play vor funcționa numai dacă jocul dvs. este publicat pe Google Play. Cu toate acestea, pentru a vă permite să vă testați jocul, consola dezvoltatorului vă permite să asociați câteva conturi de utilizator testate. Dacă mergeți la Testarea , puteți adăuga sau elimina conturile de utilizator testate. Asigurați-vă că adăugați aici contul Google pe care îl utilizați pe telefon sau emulator.
Un clasament nu este altceva decât un ecran care afișează scorurile mari ale utilizatorilor. Redarea claselor de jocuri pentru jocuri le permite utilizatorilor să-și vadă scorul lor zilnic, săptămânal și tot timpul.
Crearea unui clasament pe consola dezvoltatorului Play durează doar câteva clicuri. Mergeți la clasamentele și apăsați tasta Adăugați clasament buton. În ecranul următor, dați un nume semnificativ în clasament și apăsați pe Salvați buton.
Clasamentul nostru este acum pregătit.
Realizările sunt premii în joc pe care utilizatorii le obțin pentru că au reușit să facă ceva special. Un joc care are o mulțime de realizări pentru deblocare este, de obicei, mai distractiv decât unul care nu. În consecință, majoritatea jocurilor populare de pe Google Play au astăzi zeci, dacă nu sute de realizări.
În acest tutorial, vom adăuga o singură realizare la jocul nostru. Numele ei va fi Fulger rapid, și va fi deblocat atunci când utilizatorul reușește să atingă butonul de mai mult de 100 de ori într-un minut. Pentru a crea realizarea, mergeți la Realizări și apăsați tasta Adăugați o realizare buton. După ce introduceți numele și descrierea realizării, apăsați pe Salvați buton.
Atât clasamentul, cât și performanța au identificatori unici. Acum trebuie să adăugăm acei identificatori în proiectul nostru Android Studio, împreună cu ID-ul aplicației care a fost generat în timpul înregistrării. Puteți face acest lucru prin actualizarea manuală Jocuri-ids.xml fișier creat mai devreme. Cu toate acestea, vă sugerăm să utilizați codul de configurare generat automat disponibil în consola dezvoltatorului.
Pentru a obține codul de configurație generat automat, puteți accesa fie Realizări secțiune sau clasamentele și apăsați pe Obțineți resurse legătură. Veți vedea cod XML care arată astfel:
1234567890 com.tutsplus.mylittlegame HzkA4Kz04F8MRYIAze HzkA4Kz04F8MRYIBVU
Copiați codul și lipiți-l în proiectul dvs. Jocuri-ids.xml fişier.
Înainte de a utiliza platformele leaderboard și realizările API, trebuie să creați o GoogleApiClient
instanță și conectați-o la serviciile Play jocuri. Prin urmare, adăugați a GoogleApiClient
obiect ca variabilă membru al activității dvs..
Trebuie să folosim GoogleApiClient.Builder
clasa pentru a construi GoogleApiClient
instanță. În timp ce construim clientul, putem specifica domeniul de aplicare API și API care ne interesează utilizând addApi ()
și addScope ()
metode.
În plus, vă sugerăm să apelați enableAutoManage ()
pentru a vă asigura că clientul gestionează automat conexiunea la serviciile de jocuri. Metoda, totuși, are nevoie de un OnConnectionFailedListener
, care va fi apelat atunci când conexiunea eșuează. Pentru moment, vom apela pur și simplu finalizarea()
pentru închiderea aplicației în cazul unei eșecuri de conexiune.
În consecință, adăugați următorul cod la începutul onCreate ()
metodă:
apiClient = nou GoogleApiClient.Builder (acest) .addApi (Games.API) .addScope (Games.SCOPE_GAMES) .enableAutoManage (acest nou, GoogleApiClient.OnConnectionFailedListener () @Override public void onConnectionFailed @NonNull ConnectionResult connectionResult) Log.e (TAG, "Nu s-au putut conecta la serviciile de jocuri Play");
Dacă rulați aplicația acum, vi se va cere să creați un ID Gamer pentru dvs. Introduceți un ID Gamer la alegere și apăsați pe conectare buton.
Trimiterea unui scor la clasament are doar o singură linie de cod. Tot ce trebuie să faceți este să apelați inregistreaza scorul()
metodă a Games.Leaderboards
clasă. Acu argumentele sale, se așteaptă ca GoogleApiClient
de exemplu, ID-ul clasamentului și scorul.
În jocul nostru, trebuie să trimitem scorul la sfârșitul celor 60 de secunde. Prin urmare, adăugați următorul cod la onFinish ()
metodă:
Jocuri.Leaderboards.submitScore (apiClient, getString (R.string.leaderboard_my_little_leaderboard), scor);
Pentru a vedea leaderboard-ul, trebuie să începem o nouă activitate cu intenția de leaderboard. Pentru a prelua intenția de leaderboard, apelați getLeaderboardIntent ()
metodă a Games.Leaderboards
clasa și trece GoogleApiClient
instanță și leaderboard ID-ul la ea.
Modelul jocului nostru are deja un buton care poate fi apăsat pentru a deschide clasamentul. Valoarea lui onClick
este atributul showLeaderboard
. Prin urmare, adăugați următorul cod la activitatea dvs.:
public void showLeaderboard (Vizualizare v) startActivityForResult (Games.Leaderboards.getLeaderboardIntent (apiClient, getString (R.string.leaderboard_my_little_leaderboard)), 0);
Puteți rula aplicația acum și puteți reda jocul din nou. De data aceasta, când jocul sa terminat, scorul dvs. va fi trimis în clasament. Iată cum arată placa de bază implicită:
Apelând deblocare ()
metodă a Games.Achievements
clasa, puteți debloca orice realizare. Metoda așteaptă GoogleApiClient
instanța și ID-ul realizării ca singure argumente.
Performanța fulgerului pe care am definit-o în consola trebuie să fie deblocată atunci când scorul utilizatorului depășește 100 de puncte. Prin urmare, imediat dupa ce codul a crescut scorul, adaugati urmatorul cod:
dacă (scor> 100) Games.Achievements .unlock (apiClient, getString (R.string.achievement_lightning_fast));
Codul necesar afișării ecranelor realizărilor este foarte asemănător cu cel pe care l-am scris pentru a afișa ecranul clasamentului. Tot ce trebuie să faceți este să treceți valoarea de retur a getAchievementsIntent ()
metoda pentru a startActivityForResult ()
metodă.
public void showAchievements (Vezi v) startActivityForResult (Games.Achievements .getAchievementsIntent (apiClient), 1);
Dacă rulați aplicația dvs. și redați din nou jocul, veți vedea o realizare apărută când scorul dvs. va depăși 100 de puncte pentru prima dată.
Acum știți cum să utilizați API-urile pentru serviciile de jocuri Google Play în proiectul dvs. Android Studio. Serviciile de jocuri Play nu se limitează numai la platforma Android. Ele pot fi utilizate la fel de ușor pe platformele web și iOS. Prin urmare, serviciile Jocuri Play vă permit să creați jocuri cross-platform și să oferiți experiențe de joc consecvente utilizatorilor pe mai multe platforme.
Pentru a afla mai multe despre API-urile pentru serviciile de jocuri Google Play, vă puteți referi la ghidurile lor oficiale sau, chiar mai bine, consultați câteva dintre tutorialele noastre aici pe Envato Tuts+!