Dans cette série, je vais vous montrer comment créer un simple jeu du pendu pour Android. Dans chaque didacticiel, vous apprendrez un certain nombre de compétences fondamentales pour créer des applications Android. L'application comportera deux écrans, une interaction utilisateur impliquant des adaptateurs, des boîtes de dialogue et une barre d'action, ainsi que l'utilisation de XML pour le stockage de données. Commençons.
Si vous êtes un développeur Android débutant avec une ou deux applications de base à votre actif, vous devriez pouvoir suivre ces didacticiels sans trop de difficulté..
Le jeu aura une structure simple et basique afin que vous puissiez y apporter vos propres améliorations lorsque vous aurez terminé les didacticiels. Tout au long de cette série, je soulignerai les étapes facultatives que vous pouvez inclure pour ajouter des fonctionnalités supplémentaires et améliorer la prise en charge d’un plus grand nombre de périphériques Android. L’interface utilisateur, par exemple, sera simple, mais je vous encourage à lui donner plus d’amour pour rendre le jeu plus attrayant. La capture d'écran suivante devrait vous donner une idée de ce à quoi ressemblera le résultat final..
Ce tutoriel est divisé en trois parties distinctes.
Notre jeu sera un jeu traditionnel du pendu. Il choisira un mot aléatoire, présentant des espaces réservés pour chaque lettre afin que l'utilisateur connaisse sa longueur. Le jeu affichera bien sûr une potence zone et boutons pour chaque lettre de l'alphabet. Chaque fois que l'utilisateur appuie sur une lettre, l'application vérifie si le mot comprend la lettre. Si c'est le cas, la lettre est révélée dans le mot. Si le mot ne contient pas la lettre sélectionnée, une partie du corps sera affichée dans la zone de la potence, en commençant par la tête. L'utilisateur peut faire jusqu'à six suppositions erronées tout en gagnant la partie. Cependant, s'ils commettent une septième erreur, la partie est terminée. Si le joueur a besoin de moins de sept suppositions, il gagne la partie. Es-tu encore avec moi?
Créez un nouveau projet Android dans votre environnement de développement intégré (IDE) de votre choix. Dans ce tutoriel, je vais utiliser Eclipse. Dans Eclipse, sélectionnez Nouveau> Projet du Fichier menu. dans le Android section, sélectionnez Projet d'application Android et cliquez Suivant.
Entrez une application, un projet et un nom de package. Pour que les choses restent simples, les objectifs de l'application API 16, mais vous voudrez peut-être prendre en charge les anciennes versions. Si vous décidez de le faire, vous devrez effectuer un traitement supplémentaire. Cliquez sur Suivant continuer.
dans le Configurer le projet fenêtre, c’est à vous de choisir si vous souhaitez créer une icône personnalisée. Cependant, assurez-vous de vérifier le Créer une activité et le Créer un projet dans l'espace de travail cases à cocher. Cliquez sur Suivant.
Définissez une icône de lanceur et cliquez sur Suivant. dans le Créer une activité écran, sélectionnez Activité vide et cliquez Suivant.
Vous pouvez modifier les noms de classe d'activité et de présentation si vous préférez, mais les noms par défaut fonctionnent également très bien. Cliquez sur terminer pour créer votre nouveau projet.
Le moment est venu de configurer les thèmes et les styles associés à votre application. Pour correspondre à l'application de démonstration, définissez le AppTheme
dans ton res / valeurs / styles fichier XML à Android: Thème.Holo
. Les paramètres par défaut fonctionnent bien, mais l'interface utilisateur de votre application sera différente de celle utilisée dans ce tutoriel..
Notre application présentera un écran d'introduction avec un bouton de lecture à l'utilisateur et un écran séparé pour le jeu lui-même. Comme vous pouvez le voir dans la capture d'écran précédente, l'écran utilisé pour le jeu comprend un certain nombre d'images pour la potence et les parties du corps. Sous la potence se trouve la zone du mot que l'utilisateur doit deviner et une grille avec les lettres de l'alphabet. Nous utiliserons également une barre d’action pour naviguer dans le jeu, qui contiendra également un bouton d’aide..
Nous aurons besoin de nombreuses images pour la potence, les parties du corps (tête, corps, bras et jambes), le bouton d'aide et une image d'arrière-plan pour l'écran d'introduction. Vous pouvez trouver ces images dans les fichiers source de ce tutoriel, que vous trouverez en haut de ce tutoriel. N'oubliez pas que vous devez créer des images supplémentaires si vous souhaitez cibler un plus grand nombre de périphériques avec différentes tailles d'écran..
Téléchargez les images et ajoutez-les aux dossiers pouvant être dessinés dans votre répertoire de projet. Assurez-vous que vous utilisez des images adaptées aux différentes densités d'écran sur Android..
L'application va également utiliser des ressources pouvant être dessinées que nous pouvons définir comme des formes en XML. Celles-ci incluent le fond des lettres du mot que l'utilisateur doit deviner et le fond des lettres des boutons (état normal et en surbrillance). Celles-ci devront également être adaptées aux différentes densités d'écran que vous souhaitez que votre application prenne en charge. L'exemple de code de ce tutoriel vous donne un bon point de départ.
Commençons par l'arrière-plan des lettres. Créez un nouveau fichier dans votre projet et appelez-le letter_bg.xml.
Entrez la forme indiquée dans l'extrait de code ci-dessous.
Si vous n'êtes pas familier avec la création de formes en XML, cela peut sembler un peu déroutant. Le résultat est un soulignement, qui sera affiché comme arrière-plan de chaque lettre du mot que l'utilisateur doit deviner.
Si vous souhaitez modifier les dimensions d'une forme pour cibler différentes densités d'écran, envisagez d'utiliser des ressources de dimension. Ils vous permettent d’utiliser le même code XML pouvant être dessiné pour toutes les densités d’écran, mais en faisant référence à des valeurs de dimension adaptées à l’écran utilisé..Ensuite, créez un autre fichier dans les dessins de votre projet pour les boutons de lettre dans leur état initial et nommez-le. letter_up.xml. Ajoutez l'extrait suivant au fichier que vous venez de créer.
N'hésitez pas à modifier les extraits ci-dessus pour personnaliser les éléments de l'interface utilisateur. Il est important de consulter les ressources de ce didacticiel. Créez un autre dessinable et nommez-le letter_down.xml. Nous allons utiliser ce dessin pour les boutons de lettres dans leur état en surbrillance, c’est-à-dire lorsque le joueur appuie sur le bouton.
L'utilisateur peut choisir une seule lettre à chaque tour du jeu. Cela signifie que chaque lettre ou bouton est désactivé à partir du moment où l'utilisateur a choisi la lettre. Ceci est reflété en mettant à jour le fond du bouton.
Nous allons changer l'arrière-plan de chaque bouton en utilisant Java, en fonction de l'état du bouton, activé ou désactivé. Pour des options de bouton plus avancées, consultez à l'aide des états de bouton.Créons le fichier de disposition principal pour l'écran d'introduction. Ouvrez le fichier de disposition principal du projet et mettez à jour son contenu pour refléter le fragment ci-dessous..
Comme vous pouvez le constater, le code fait référence à une ressource pouvant être dessinée à afficher en arrière-plan. Vous pouvez omettre le ImageView
élément si vous aimez. Si vous incluez l'image, assurez-vous que le nom du fichier correspond à ce code. La mise en page comprend un seul bouton pour jouer au jeu, mais vous pouvez ajouter d'autres boutons ultérieurement si vous le souhaitez. Par exemple, vous pouvez ajouter des niveaux ou des catégories à l'application plutôt que de simplement choisir un mot aléatoire dans une liste, comme nous le ferons dans ce tutoriel..
Créons quelques fichiers supplémentaires que nous utiliserons dans les prochains tutoriels. Tout d’abord, ajoutez une deuxième classe d’activités au projet pour le jeu lui-même. Sélectionnez le package dans votre projet src répertoire et choisissez Nouveau> Classe du Fichier menu. Nommez la classe GameActivity Et mettre android.app.Activity
comme sa super-classe.
Nous allons compléter le GameActivity
classe plus tard dans cette série. Créons maintenant un fichier de mise en page pour la classe. Ajouter un nouveau fichier au projet disposition dossier et nommez-le activity_game.xml. Remplacez son contenu par l'extrait suivant ci-dessous.
Nous ajouterons des éléments à la mise en page la prochaine fois. Ajouter le activité
dans le fichier manifeste de votre projet, après l'élément de l'élément principal activité
, à l'intérieur de application
élément:
Nous définissons l'orientation de l'écran sur portrait. Si vous décidez également de prendre en charge l'orientation paysage dans votre jeu, vous devez supprimer l'attribut orientation. Nous spécifions également l'activité principale en tant que parent, ce qui signifie que la barre d'action peut être utilisée pour naviguer dans le jeu. Nous en reparlerons un peu plus tard dans ce tutoriel..
Terminons ce didacticiel en démarrant l'activité de jeu lorsque l'utilisateur appuie sur le bouton de lecture. Ouvrez le fichier du Activité principale
classe et commence par ajouter les instructions d'importation suivantes.
importer android.content.Intent; importer android.view.View; importer android.view.View.OnClickListener; importer android.widget.Button;
Eclipse aurait dû pré-peupler le Activité principale
classe avec un Activité
aperçu de la classe, y compris un onCreate
méthode dans laquelle la vue du contenu est définie. Après le setContentView
ligne, récupérez une référence au bouton de lecture que vous avez ajouté à la présentation principale et configurez la classe pour qu’elle écoute les clics.
Bouton playBtn = (Bouton) findViewById (R.id.playBtn); playBtn.setOnClickListener (this);
Nous pouvons trouver le bouton en utilisant l'identifiant que nous avons défini dans la mise en page XML. Étendez la ligne d'ouverture de la déclaration de classe pour implémenter l'interface d'écoute de clic comme suit.
Classe publique MainActivity. Activity implémente OnClickListener.
Ajouter le sur clic
méthode après la onCreate
méthode comme indiqué ci-dessous.
@Override public void onClick (Afficher la vue) // gérer les clics
Dans cette méthode, nous vérifions si le bouton de lecture a été cliqué et, si c'était le cas, démarrez l'activité de jeu..
if (view.getId () == R.id.playBtn) Intent playIntent = new Intent (this, GameActivity.class); this.startActivity (playIntent);
Cela n'aura pas beaucoup d'effet pour le moment car nous n'avons pas encore implémenté l'activité de jeu. C'est quelque chose que nous ferons dans le prochain tutoriel.
Dans ce didacticiel, nous avons créé les bases de l'application Hangman. Dans le prochain tutoriel, nous allons construire les éléments d'interface du jeu et, dans la dernière partie, nous allons nous concentrer sur les aspects interactifs de l'application. En chemin, nous explorerons adaptateurs et le barre d'action. Nous allons également stocker les réponses de mots au format XML, les récupérer lors du lancement de l'application et en choisir une au hasard à chaque fois que l'utilisateur joue à un jeu..