In questa serie, ti mostrerò come creare un semplice gioco Hangman per Android. In ogni tutorial, imparerai una serie di abilità fondamentali per la creazione di applicazioni Android. L'applicazione sarà composta da due schermate, include l'interazione dell'utente che coinvolge adattatori, contiene finestre di dialogo e una barra delle azioni e sfrutta l'XML per l'archiviazione dei dati. Iniziamo.
Se sei uno sviluppatore Android principiante con una o due applicazioni di base sotto la cintura, allora dovresti essere in grado di completare questi tutorial senza troppe difficoltà.
Il gioco avrà una struttura semplice e di base in modo che tu possa aggiungere i tuoi miglioramenti quando hai completato le esercitazioni. In questa serie, illustrerò i passaggi facoltativi che è possibile includere per aggiungere funzionalità aggiuntive e migliorare il supporto per una gamma più ampia di dispositivi Android. L'interfaccia utente, per esempio, sarà semplice, ma ti incoraggio a dargli più amore per rendere il gioco più attraente. Il seguente screenshot dovrebbe darti un'idea di come sarà il risultato finale.
Questo tutorial è suddiviso in tre parti distinte.
Il nostro gioco sarà un tradizionale gioco dell'impiccato. Sceglierà una parola a caso, presentando segnaposto per ogni lettera in modo che l'utente ne conosca la lunghezza. Il gioco mostrerà ovviamente a forca area e pulsanti per ogni lettera dell'alfabeto. Ogni volta che l'utente tocca una lettera, l'applicazione controllerà se la parola include la lettera. Se lo fa, la lettera viene rivelata nella parola. Se la parola non contiene la lettera selezionata, una parte del corpo verrà visualizzata nell'area dei patiboli, a partire dalla testa. L'utente può fare fino a sei ipotesi sbagliate e vincere comunque la partita. Tuttavia, se fanno un settimo errore, è game over. Se il giocatore ha bisogno di meno di sette ipotesi, vince la partita. Sei ancora con me?
Crea un nuovo progetto Android nel tuo IDE (Integrated Development Environment) di scelta. In questo tutorial userò Eclipse. In Eclipse, selezionare Nuovo> Progetto dal File menu. Nel androide sezione, selezionare Progetto di applicazione Android e fare clic Il prossimo.
Inserisci un'applicazione, un progetto e il nome del pacchetto. Per mantenere le cose semplici, gli obiettivi dell'applicazione API 16, ma potresti voler supportare versioni precedenti. Se decidi di farlo, dovrai eseguire qualche elaborazione aggiuntiva. Clic Il prossimo continuare.
Nel Configura progetto finestra, spetta a te scegliere se desideri creare un'icona personalizzata. Tuttavia, assicurati di controllare il Crea attività e il Crea progetto nello spazio di lavoro caselle di controllo. Clic Il prossimo.
Imposta un'icona di avvio e fai clic Il prossimo. Nel Crea attività schermo, selezionare Attività vuota e fare clic Il prossimo.
È possibile modificare la classe di attività e i nomi di layout se si preferisce, ma i nomi predefiniti funzionano bene. Clic finire per creare il tuo nuovo progetto.
Ora è un buon momento per configurare i temi e gli stili associati alla tua applicazione. Per abbinare l'applicazione demo, impostare il AppTheme
nel tuo res / Valori / stili XML file a Android: Theme.Holo
. Le impostazioni predefinite funzionano bene, ma l'interfaccia utente dell'applicazione sarà diversa dalle schermate di questo tutorial.
La nostra applicazione presenterà una schermata di introduzione con un pulsante di riproduzione all'utente e una schermata separata per il gioco stesso. Come puoi vedere nello screenshot precedente, lo schermo utilizzato per il gioco include un numero di immagini per la forca e le parti del corpo. Sotto la forca è l'area per la parola che l'utente deve indovinare e una griglia con le lettere dell'alfabeto. Useremo anche una barra delle azioni per navigare nel gioco e conterrà anche un pulsante di aiuto.
Avremo bisogno di un buon numero di immagini per il patibolo, le parti del corpo (testa, corpo, braccia e gambe), il pulsante di aiuto e un'immagine di sfondo per lo schermo di introduzione. Puoi trovare queste immagini nei file sorgente di questo tutorial, che puoi trovare all'inizio di questo tutorial. Tieni presente che è necessario creare immagini aggiuntive se si mira a scegliere come target un insieme più ampio di dispositivi con dimensioni dello schermo diverse.
Scarica le immagini e aggiungile alle cartelle disegnabili nella directory del progetto. Assicurati di utilizzare immagini adatte per le diverse densità dello schermo su Android.
L'applicazione utilizzerà anche alcune risorse estraibili che possiamo definire come forme in XML. Questi includono lo sfondo per le lettere nella parola che l'utente deve indovinare e lo sfondo per le lettere dei pulsanti (stato normale e evidenziato). Questi dovranno anche essere adattati alle diverse densità dello schermo che vuoi che la tua applicazione supporti. Il codice di esempio di questo tutorial ti offre un buon punto di partenza.
Iniziamo con lo sfondo delle lettere. Crea un nuovo file nei drawable del tuo progetto e chiamalo letter_bg.xml.
Inserisci la forma mostrata nello snippet di codice qui sotto.
Se non hai familiarità con la creazione di forme in XML, questo potrebbe sembrare un po 'confuso. Il risultato è una sottolineatura, che verrà visualizzata come sfondo di ogni lettera nella parola che l'utente deve indovinare.
Se si desidera modificare le dimensioni di una forma per raggiungere densità di schermi diverse, prendere in considerazione l'utilizzo di risorse di dimensione. Consentono di utilizzare lo stesso codice XML disegnabile per tutte le densità dello schermo, ma con ogni riferimento ai valori delle dimensioni adattati allo schermo in uso.Successivamente, crea un altro file nei drawable del tuo progetto per i pulsanti delle lettere nel loro stato iniziale e nominalo letter_up.xml. Aggiungi il seguente snippet al file appena creato.
Sentiti libero di modificare i frammenti di cui sopra per modellare gli elementi dell'interfaccia utente a tuo piacimento. È importante vedere le risorse di questo tutorial come linee guida. Crea un altro drawable e chiamalo letter_down.xml. Useremo questo drawable per i pulsanti delle lettere nel loro stato evidenziato, cioè quando il giocatore tocca il pulsante.
L'utente può scegliere solo una lettera per ogni round del gioco. Ciò significa che ogni lettera o pulsante è disabilitato dal momento in cui l'utente ha scelto la lettera. Ciò si riflette aggiornando lo sfondo del pulsante.
Cambierà lo sfondo di ciascun pulsante utilizzando Java, a seconda dello stato del pulsante, abilitato o disabilitato. Per le opzioni di pulsante più avanzate, controlla utilizzando gli stati dei pulsanti.Creiamo il file di layout principale per la schermata di introduzione. Apri il file di layout principale del progetto e aggiorna i suoi contenuti per riflettere lo snippet seguente.
Come puoi vedere, il codice si riferisce a una risorsa estraibile da visualizzare sullo sfondo. Puoi omettere il ImageView
elemento se ti piace. Se includi l'immagine, assicurati che il nome del file corrisponda a questo codice. Il layout include un singolo pulsante per giocare, ma puoi aggiungere altri pulsanti in seguito, se lo desideri. Ad esempio, potresti aggiungere livelli o categorie all'applicazione anziché scegliere semplicemente una parola a caso da un elenco come faremo in questo tutorial.
Creiamo alcuni altri file che utilizzeremo nelle prossime esercitazioni. Innanzitutto, aggiungi una seconda classe di attività al progetto per il gioco stesso. Seleziona il pacchetto nel tuo progetto src directory e scegliere Nuovo> Classe dal File menu. Dai un nome alla classe GameActivity e impostare android.app.Activity
come sua superclasse.
Completeremo il GameActivity
classe più tardi in questa serie. Creiamo ora un file di layout per la classe. Aggiungi un nuovo file al progetto disposizione cartella e chiamarlo activity_game.xml. Sostituisci il suo contenuto con il seguente snippet qui sotto.
La prossima volta aggiungeremo elementi al layout. Aggiungi il attività
al file manifest del progetto, dopo l'elemento per il main attività
, dentro il applicazione
elemento:
Impostiamo l'orientamento dello schermo su ritratto. Se si decide di supportare anche un orientamento orizzontale nel gioco, è necessario rimuovere l'attributo di orientamento. Specifichiamo anche l'attività principale come genitore, il che significa che la barra delle azioni può essere utilizzata per navigare nel gioco. Ne parleremo un po 'più avanti in questo tutorial.
Completiamo questo tutorial avviando l'attività di gioco quando l'utente tocca il pulsante di riproduzione. Apri il file del Attività principale
classe e iniziare aggiungendo le seguenti istruzioni di importazione.
import android.content.Intent; importa android.view.View; import android.view.View.OnClickListener; importa android.widget.Button;
Eclipse dovrebbe aver pre-compilato il file Attività principale
classe con un Attività
schema di classe, tra cui un onCreate
metodo in cui è impostata la visualizzazione del contenuto. Dopo il setContentView
linea, recuperare un riferimento al pulsante di riproduzione aggiunto al layout principale e impostare la classe per l'ascolto dei clic.
Button playBtn = (Button) findViewById (R.id.playBtn); playBtn.setOnClickListener (questo);
Possiamo trovare il pulsante utilizzando l'identificatore che abbiamo impostato nel layout XML. Estendere la riga di apertura della dichiarazione di classe per implementare l'interfaccia di ascolto dei clic come segue.
la classe pubblica MainActivity estende l'attività implementa OnClickListener
Aggiungi il al clic
metodo dopo il onCreate
metodo come mostrato di seguito.
@Override public void onClick (Visualizza vista) // Gestisci clic
All'interno di questo metodo, controlliamo se è stato fatto clic sul pulsante di riproduzione e, in caso affermativo, avvii l'attività di gioco.
if (view.getId () == R.id.playBtn) Intent playIntent = new Intent (this, GameActivity.class); this.startActivity (playIntent);
Questo non avrà molto effetto al momento dato che non abbiamo ancora implementato l'attività di gameplay. Questo è qualcosa che faremo nel prossimo tutorial.
In questo tutorial, abbiamo creato le basi per l'applicazione Hangman. Nel prossimo tutorial, costruiremo gli elementi dell'interfaccia del gioco e, nella parte finale, ci concentreremo sugli aspetti interattivi dell'applicazione. Lungo la strada, esploreremo adattatori e il barra dell'azione. Memorizzeremo anche le risposte alle parole in XML, recuperandole all'avvio dell'app e scegliendo una a caso ogni volta che l'utente gioca a un gioco.