création projet android didacticiel. plan de leçon libgdx description communauté et support...
TRANSCRIPT
![Page 1: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/1.jpg)
Création projet AndroidDidacticiel
![Page 2: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/2.jpg)
Plan de leçon LibGdx
Description Communauté et support Installation Configuration dans Eclipse Exécuter une application
Texture TextureRegion Animation
![Page 3: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/3.jpg)
Libgdx : Description Plateforme de développement de jeux et
visualisation multiplateforme Elle peut s’exécuter en Windows, Linux, OS
X, Android, iOS et HTML5 Permet de travailler sur le code d’un seul
projet et de le déployer sur plusieurs plateformes
Permet d’accéder au code bas niveau tel que l’accès aux fichiers, aux périphériques, OpenGL, etc.
![Page 4: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/4.jpg)
Libgdx : Description Plusieurs APIs qui aident au
développement de jeux Rendu de sprites ou textes Interface utilisateur Effets audio Algèbre linéaire et trigonométrie JSON et XML Etc.
![Page 5: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/5.jpg)
libGdx : Communauté et support Forum
http://badlogicgames.com/forum IRC
irc://irc.freenode.net/libgdx Liste de jeux développer avec LibGdx
http://code.google.com/p/libgdx/wiki/LibgdxGames
![Page 6: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/6.jpg)
LibGdx : prérequis Java development kit (JDK) Eclipse Android SDK et Eclipse ADT pour
Android Google Web Toolkit pour HTML5 Pour faciliter le développement de
projet, utiliser l’outil gdx-setup-ui.jar
![Page 7: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/7.jpg)
LibGdx : Configuration du projet Exécutez l’outil gdx-setup-ui.jar Sélectionnez « Create » Name : Nom de votre jeu Package name : Nom du package, il doit être
unique Game class : nom de votre sans espace avec
majuscule au début Destination : L’endroit où les projets seront
enregistrés et générés Faites un dossier pour enregistrer tous les projets Ex : Eclipse\jeuMemoire
![Page 8: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/8.jpg)
LibGdx : Configuration du projet Sélectionnez les projets à générer Dans la deuxième section, assurez-vous
que les librairies requises sont vertes Sinon téléchargez en cliquant sur le bouton
de téléchargement Cliquez sur Open the generation screen
Assurez-vous que Your configuration is valid est indiqué
Cliquez sur Launch!
![Page 9: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/9.jpg)
LibGdx Setup UI
![Page 10: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/10.jpg)
LibGdx : Configuration du projet À l’intérieur d’Eclipse, File Import… General Existing Projects into
Workspace Aller dans le dossier qui englobe les
projets Terminer
![Page 11: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/11.jpg)
LibGdx : Les projets 4 projets
Projet avec le code principal Projet Android Projet Desktop Projet HTML
![Page 12: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/12.jpg)
LibGdx : Exécution Android Run as Android Project Desktop Run as Java Application HTML Run as Web Application
Ou Google GWT Compile
![Page 13: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/13.jpg)
LibGdx : Backend LibGdx est lié à plusieurs librairies tierces
Lwjgl : Lightweight java gaming library qui est une enveloppe (wrapper) pour les accès à OpenGL et OpenAL pour chacun des OS sauf Android
Android : APIs Android HTML5 : Compile le code Java en javascript Mpg123 pour la lecture MP3 Box2D pour la physique Etc.
![Page 14: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/14.jpg)
LibGdx : modules Application : Exécute l’application Files : Permet l’accès aux fichiers sur le
clients Input : Accès aux événements souris,
clavier, tactile ou accéléromètre… Audio : Fournit l’accès à l’audio en E/S Graphics : Donne accès à OpenGL
![Page 15: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/15.jpg)
LibGdx : structure Le flux de données d’une
application LibGdx est très similaireà celle de XNA
La principale différence est lafusion des méthodes Update() etDraw() qui sont représentées parrender()
Début
create()
render()
fin?
dispose()
Fin
Non
Oui
![Page 16: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/16.jpg)
LibGdx : Ressource Pour ajouter les ressources, il faut le
faire dans le dossier assets du projet Android
De plus, il est préférable de séparer les types de ressource dans différents sous-dossiers Par exemple : images, sons, …
![Page 17: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/17.jpg)
LibGdx : Configuration pour chaque projet Même si l’on ne code principalement
que dans un seul projet, chacun possède sa particularité Desktop : Taille de la fenêtre, Titre de la
fenêtre, … Android : Désactivation de
l’accéléromètre, compas, … Dans le but d’économiser de la batterie
HTML5 : Taille de la fenêtre, …
![Page 18: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/18.jpg)
LibGdx : Le code Trouvez une petite image PNG sur le web avec
une puissance de 2 Dans mon cas un bonhomme
Dans le projet cœur, ouvrez le fichier java Ajoutez l’image dans le dossier
assets/images du projet Android Ajoutez un objet privé Texture pour
représenter l’image téléchargée private Texture druidTexture;
Supprimer toute occurrence de l’objet sprite
![Page 19: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/19.jpg)
LibGdx : Le code Ajouter les méthodes privées update()
et draw() Modifiez render() pour qu’il appelle
respectivement update et ensuite draw
![Page 20: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/20.jpg)
LibGdx : Type de projection Dans tous les jeux libGdx, il y a une
camera OrthographicCamera pour le 2D PerspectiveCamera pour le 3D
![Page 21: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/21.jpg)
Type de projection
PerspectiveProjection orthogonale
![Page 22: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/22.jpg)
libGdx : Type de projection Contrairement au système Windows, le
point 0, 0 est situé dans le coin inférieur gauche de l’écran
![Page 23: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/23.jpg)
LibGdx : Le code Dans Create(), instanciez l’image
cibleImage = new Texture(Gdx.files.internal("images/cible.png"));
Dans dispose(), détruire l’image cibleImage.dispose();
![Page 24: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/24.jpg)
LibGdx : update() On y insère le code de manipulation des
objets C’est à cet endroit que l’on gère aussi
les événements tels que le clavier, la souris, le tactile, …
Lorsque la position d’un objet change, il faut rajouter camera.unproject(vector3) pour projeter les coordonnées dans le monde de la caméra
![Page 25: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/25.jpg)
LibGdx : draw() On y insère le code d’affichage des
éléments Ajoutez le code pour afficher votre
image à la position 100, 100 batch.draw(druidTexture, 100, 100);
public void render() { batch.begin(); batch.draw(druidTexture, 100, 100); batch.end();}
![Page 26: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/26.jpg)
Les sprites sheet Charger une texture dans un jeu est très
demandant pour le système Si le jeu devait charger 50 images pour
la même animation, le jeu prendrait beaucoup de mémoire
Pour optimiser le chargement des images, on utilise une feuille d’images (sprite sheet)
![Page 27: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/27.jpg)
Les sprites sheet Le système n’affichera qu’une portion
de l’image pour donner diminuer la consommation des ressources
L’utilisation d’une feuille de puissance de deux est importante aussi
![Page 28: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/28.jpg)
TextureRegion En libgdx l’équivalent du sprite sheet
est la classe TextureRegion
![Page 29: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/29.jpg)
Méthodenormalisée
TextureRegion : Codepublic class TextureFun implements ApplicationListener {
private Texture texture; // #1 private SpriteBatch batch; private TextureRegion[] regions = new TextureRegion[4]; // #2 @Override public void create() { texture = new Texture(Gdx.files.internal("sprite_sheet.png")); batch = new SpriteBatch(); regions[0] = new TextureRegion(texture, 0, 0, 32, 32); // #3 regions[1] = new TextureRegion(texture, 0.5f, 0f, 1f, 0.5f); // #4 regions[2] = new TextureRegion(texture, 0, 32, 32, 32); // #5 regions[3] = new TextureRegion(texture, 0.5f, 0.5f, 1f, 1f); // #6 }
@Override public void render() { batch.begin(); batch.draw(texture, 0, 0, 64, 64); // #7 for (int i = 0; i < regions.length; i++) { batch.draw(regions[i], 75 * (i + 1), 100); // #8 } batch.end(); } // … le reste est omis... //
}
![Page 30: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/30.jpg)
TextureRegion Si la feuille a des textures de dimension
identique, il est possible de diviser automatique la feuille en utilisant la méthode « split »
SyntaxeTextureRegion [][] regions = TextureRegion.split (texture, 64, 64);
![Page 31: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/31.jpg)
Animation Une animation n’est qu’une succession
d’images fixe qui s’affiche à un rythme non-perceptible pour l’œil humain
![Page 32: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/32.jpg)
Animation 30 ips 0,033
ms/image Principe est qu’à
chaque fois que l’intervalle est terminée, il faut afficher l’image suivante
![Page 33: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/33.jpg)
Animation 1 et 2 : Indique le nombre d’images horizontales et verticales3 : Objet d’animation défini par libGdx8 : Temps d’affichage de l’image courante10 : Division de la feuille13 : Initialisation du temps14 : Efface l’écran à chaque boucle15 : Calcule du temps d’écoulement16 : On indique le temps actuel de l’animation et si l’on boucle
![Page 34: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/34.jpg)
Entrées Gdx.input permet d’aller récupérer des
informations tels que les touches de clavier ou encore la position XY du touché
Méthode Description
getX, getY Position du touché
isKeyPressed Retourne la touche
Plusieurs autres méthodes disponibles. À vous d’explorer!
![Page 35: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/35.jpg)
Exercice À l’aide des flèches du clavier, faites
déplacer un bonhomme animé dans l’écran
À l’aide de la rotation de la tablette, faites pivoter le bonhomme. Quelle est la fonction pour trouver la
rotation de la tablette?
![Page 36: Création projet Android Didacticiel. Plan de leçon LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application](https://reader035.vdocument.in/reader035/viewer/2022070309/551d9da5497959293b8d6141/html5/thumbnails/36.jpg)
Référence Toutes les références de cette
présentation ont été prise sur le site officiel de LibGdx