I denne serien vil jeg vise deg hvordan du lager et enkelt Hangman-spill for Android. I hver opplæring lærer du en rekke grunnleggende ferdigheter for å lage Android-applikasjoner. Søknaden vil bestå av to skjermer, inkludere brukerinteraksjon som involverer adaptere, inneholder dialoger og en handlingslinje, og utnytter XML for datalagring. La oss komme i gang.
Hvis du er en begynnende Android-utvikler med ett eller to grunnleggende applikasjoner under beltet ditt, bør du kunne fullføre disse opplæringene uten mye problemer.
Spillet vil ha en enkel, grunnleggende struktur slik at du kan legge til dine egne forbedringer når du har fullført opplæringsprogrammene. I hele denne serien vil jeg påpeke valgfrie skritt du kan inkludere for å legge til flere funksjoner og for å forbedre støtten til et bredere utvalg av Android-enheter. Brukergrensesnittet, for eksempel, vil være enkelt, men jeg oppfordrer deg til å gi det mer kjærlighet til å gjøre spillet mer tiltalende. Følgende skjermbilde skal gi deg en ide om hvordan sluttresultatet vil se ut.
Denne opplæringen er delt opp i tre forskjellige deler.
Vårt spill vil bli et tradisjonelt Hangman-spill. Det vil velge et tilfeldig ord, og presentere plassholdere for hvert brev slik at brukeren vet lengden. Spillet vil selvfølgelig vise a galgen område og knapper for hvert bokstav i alfabetet. Når brukeren tapper et brev, vil applikasjonen kontrollere om ordet inneholder bokstaven. Hvis det gjøres, blir brevet avslørt i ordet. Hvis ordet ikke inneholder det valgte bokstaven, vil en del av kroppen vises i galgenområdet, begynner med hodet. Brukeren kan gjøre opptil seks feil gjetninger og likevel vinne spillet. Men hvis de gjør en syvende feil, er det spillet over. Hvis spilleren trenger mindre enn syv gjetninger, vinner hun spillet. Er du fortsatt med meg?
Opprett et nytt Android-prosjekt i ditt IDE (Integrated Development Environment). I denne opplæringen vil jeg bruke Eclipse. I Eclipse, velg Nytt> Prosjekt fra Fil Meny. I Android seksjon, velg Android Application Project og klikk neste.
Skriv inn et program-, prosjekt- og pakkenavn. For å holde ting enkelt, målrettes søknaden API 16, men du vil kanskje støtte eldre versjoner. Hvis du bestemmer deg for det, må du utføre ytterligere behandling. Klikk neste å fortsette.
I Konfigurer prosjekt vindu, er det opp til deg å velge om du vil lage et egendefinert ikon. Men sørg for å sjekke Opprett aktivitet og Opprett prosjekt i arbeidsområdet merk av i boksene. Klikk neste.
Sett et lanseringsikon og klikk neste. I Opprett aktivitet skjerm, velg Blank aktivitet og klikk neste.
Du kan endre aktivitetsklassen og layoutnavnene hvis du foretrekker, men standardnavnene fungerer også bra også. Klikk Bli ferdig å skape ditt nye prosjekt.
Nå er det en god tid å konfigurere temaer og stiler knyttet til søknaden din. For å matche demo-applikasjonen, sett inn AppTheme
i din res / verdier / stiler XML-fil til android: Theme.Holo
. Standardinnstillingene fungerer bra, men søknadens brukergrensesnitt vil avvike fra skjermbildene i denne opplæringen.
Vår søknad vil presentere en introskjerm med en spilleknapp til brukeren og en egen skjerm for selve spillet. Som du ser i forrige skjermbilde, inneholder skjermen som brukes for spillet en rekke bilder for galgen og kroppsdelene. Under galgen er området for ordet brukeren trenger å gjette og et rutenett med bokstavene i alfabetet. Vi vil også bruke en handlingslinje for å navigere spillet, og det vil også inneholde en hjelpeknapp.
Vi trenger ganske mange bilder for galgen, kroppsdelene (hode, kropp, armer og ben), hjelpeknappen og et bakgrunnsbilde for introskjermen. Du finner disse bildene i kildefilene i denne opplæringen, som du finner øverst i denne opplæringen. Husk at du må opprette flere bilder hvis du har som mål å målrette mot et bredere sett med enheter med forskjellige skjermstørrelser.
Last ned bildene og legg dem til de trekkbare mappene i prosjektkatalogen. Pass på at du bruker bilder som passer til de forskjellige skjermdensiteter på Android.
Programmet skal også bruke noen trekkbare ressurser som vi kan definere som former i XML. Disse inkluderer bakgrunnen for bokstavene i ordet brukeren må gjette og bakgrunnen for bokstavene på knappene (normal og uthevet tilstand). Disse må også skreddersys til de forskjellige skjermdensiteter som du vil at programmet skal støtte. Eksempelkoden til denne opplæringen gir deg et godt utgangspunkt.
La oss starte med bakgrunnen til bokstavene. Opprett en ny fil i prosjektet drawables og navn den letter_bg.xml.
Skriv inn formen vist i kodestykket nedenfor.
Hvis du ikke er kjent med å lage former i XML, kan det virke litt forvirrende. Resultatet er en understreke, som vises som bakgrunnen for hvert brev i ordet brukeren må gjette.
Hvis du vil endre dimensjonene til en form for å målrette mot forskjellige skjermdensiteter, bør du vurdere å bruke dimensjonsressurser. De tillater deg å bruke den samme formtrekkbare XML-koden for alle skjermdensiteter, men med hver refererer til dimensjonsverdier skreddersydd for skjermen i bruk.Deretter lager du en annen fil i prosjektets tegninger for bokstavknappene i sin opprinnelige tilstand, og navnet på den letter_up.xml. Legg til følgende utdrag i filen du nettopp har opprettet.
Du er velkommen til å endre de ovennevnte utdragene for å utforme brukergrensesnittelementene etter eget ønske. Det er viktig å se ressursene i denne opplæringen som en veiledning. Lag en ekstra drawable og navnet på den letter_down.xml. Vi bruker dette trekkbar for bokstavknappene i deres uthevede tilstand, det vil si når spilleren tapper på knappen.
Brukeren kan bare velge ett bokstav i hver runde av spillet. Dette betyr at hver bokstav eller knapp er deaktivert fra det øyeblikket brukeren har valgt brevet. Dette gjenspeiles ved å oppdatere knappens bakgrunn.
Vi vil endre hver knappes bakgrunn ved hjelp av Java, avhengig av knappens tilstand, aktivert eller deaktivert. For mer avanserte knappalternativer, sjekk ut med knappestater.La oss lage hovedoppsettfilen for introskjermen. Åpne hovedoppsettfilen til prosjektet og oppdatere innholdet for å gjenspeile koden nedenfor.
Som du ser, refererer koden til en trekkbar ressurs som skal vises i bakgrunnen. Du kan utelate Imageview
element hvis du vil. Hvis du inkluderer bildet, må du kontrollere at filnavnet samsvarer med denne koden. Oppsettet inneholder en enkelt knapp for å spille spillet, men du kan legge til andre knapper senere hvis du vil. For eksempel kan du legge til nivåer eller kategorier i applikasjonen i stedet for å velge et tilfeldig ord fra en liste som vi vil gjøre i denne opplæringen.
La oss lage noen flere filer som vi skal bruke i de neste opplæringsprogrammene. Først legger du til en annen aktivitetsklasse for prosjektet for selve spillet. Velg pakken i prosjektet ditt src katalog og velg Ny> Klasse fra Fil Meny. Gi klassen navn GameActivity og sett android.app.Activity
som sin superklasse.
Vi vil fullføre GameActivity
klasse senere i denne serien. La oss nå lage en layoutfil for klassen. Legg til en ny fil til prosjektets oppsett mappe og navn den activity_game.xml. Erstatt innholdet med følgende utdrag nedenfor.
Vi legger til elementer i oppsettet neste gang. Legg til aktivitet
til prosjektmanifestfilen din, etter elementet for hovedmenyen aktivitet
, inne i applikasjon
element:
Vi setter skjermens orientering til portrett. Hvis du bestemmer deg for å også støtte en landskapsorientering i spillet ditt, må du fjerne orienteringsattributtet. Vi spesifiserer også hovedaktiviteten som foreldre, noe som betyr at handlingslinjen kan brukes til å navigere i spillet. Vi vil snakke mer om dette litt senere i denne opplæringen.
La oss fullføre denne opplæringen ved å starte spillaktiviteten når brukeren tapper på avspillingsknappen. Åpne filen til Hoved aktivitet
klasse og begynn med å legge til følgende importerklæringer.
importer android.content.Intent; importer android.view.View; importer android.view.View.OnClickListener; importer android.widget.Button;
Eclipse burde ha pre-befolket Hoved aktivitet
klasse med en Aktivitet
klassebeskrivelse, inkludert en onCreate
Metode der innholdsvisningen er innstilt. Etter setContentView
linje, hent en referanse til spillknappen du la til hovedoppsettet og sett klassen for å lytte etter klikk.
Button playBtn = (Button) findViewById (R.id.playBtn); playBtn.setOnClickListener (this);
Vi kan finne knappen ved å bruke identifikatoren vi angir i layout XML. Utvid åpningslinjen til klassedeklarasjonen for å implementere klikklyttingsgrensesnittet som følger.
offentlig klasse MainActivity utvider Aktivitetsredskaper OnClickListener
Legg til ved trykk
metode etter onCreate
metode som vist nedenfor.
@Override public void onClick (Vis visning) // håndtere klikk
Innenfor denne metoden kontrollerer vi om spilleknappen ble klikket og, hvis det var, starte spillaktiviteten.
hvis (view.getId () == R.id.playBtn) Intent playIntent = new Intent (dette, GameActivity.class); this.startActivity (playIntent);
Dette vil ikke ha mye effekt for øyeblikket siden vi ikke har implementert gameplayaktiviteten ennå. Det er noe vi skal gjøre i neste opplæring.
I denne opplæringen har vi laget grunnlaget for Hangman-programmet. I neste opplæring vil vi bygge spillets grensesnittelementer, og i den siste delen vil vi fokusere på de interaktive aspektene av applikasjonen. Underveis vil vi utforske adaptere og handlingslinje. Vi lagrer også ordet svar i XML, henter dem når appen starter, og velger en tilfeldig hver gang brukeren spiller et spill.