Cr©ation projet LibGdx

download Cr©ation projet  LibGdx

of 39

  • date post

    07-Jan-2016
  • Category

    Documents

  • view

    47
  • download

    10

Embed Size (px)

description

Création projet LibGdx. Didacticiel. Plan de leçon. LibGdx Description Communauté et support Installation Configuration dans Eclipse Exécuter une application Texture TextureRegion Animation. Libgdx : Description. Plateforme de développement de jeux et visualisation multiplateforme - PowerPoint PPT Presentation

Transcript of Cr©ation projet LibGdx

Cration projet Android

Cration projet LibGdxDidacticielPlan de leonLibGdxDescriptionCommunaut et supportInstallationConfiguration dans EclipseExcuter une applicationTextureTextureRegionAnimation

Libgdx : DescriptionPlateforme de dveloppement de jeux et visualisation multiplateformeElle peut sexcuter en Windows, Linux, OS X, Android, iOS et HTML5Permet de travailler sur le code dun seul projet et de le dployer sur plusieurs plateformesPermet daccder au code bas niveau tel que laccs aux fichiers, aux priphriques, OpenGL, etc.Libgdx : DescriptionPlusieurs APIs qui aident au dveloppement de jeuxRendu de sprites ou textesInterface utilisateurEffets audioAlgbre linaire et trigonomtrieJSON et XMLEtc.libGdx : Communaut et supportForumhttp://badlogicgames.com/forumIRCirc://irc.freenode.net/libgdxListe de jeux dvelopper avec LibGdxhttp://code.google.com/p/libgdx/wiki/LibgdxGames

LibGdx : prrequisJava Development Kit (JDK)EclipseAndroid SDK et Eclipse ADT pour AndroidGoogle Web Toolkit pour HTML5Pour faciliter le dveloppement de projet, utiliser loutil gdx-setup.jarLibGdx : Configuration du projetExcutez loutil gdx-setup.jarDonnez un nomPackage nameNom du package, il doit tre uniqueStyle URL inversGame class : nom de votre classe principale sans espace avec majuscule au dbutDestination : Lendroit o les projets seront enregistrs et gnrsFaites un dossier pour enregistrer tous les projetsEx : Eclipse\jeuMemoire

LibGdx : Configuration du projetSlectionnez les sous projets gnrerCliquez sur AdvancedChoisissez la plateforme EclipseCliquez sur GenerateCela va prendre quelques minutes la premire fois le temps de tlcharger toutes les librairiesLibGdx Setup

LibGdx : Configuration du projet lintrieur dEclipse, File ImportGeneral Existing Projects into WorkspaceAller dans le dossier qui englobe les projetsTerminer

LibGdx : Les projets1 5 projetsProjet avec le code principalProjet AndroidProjet DesktopProjet HTMLProjet iOSLibGdx : ExcutionAndroid Run as Android ProjectDesktop Run as Java ApplicationHTML Run as Web ApplicationOu Google GWT Compile

LibGdx : BackendLibGdx est li plusieurs librairies tiercesLwjgl : Lightweight java gaming library qui est une enveloppe (wrapper) pour les accs OpenGL et OpenAL pour chacun des OS sauf AndroidAndroid : APIs AndroidHTML5 : Compile le code Java en javascriptMpg123 pour la lecture MP3Box2D pour la physiqueEtc.

LibGdx : modulesApplication : Excute lapplicationFiles : Permet laccs aux fichiers sur le clientsInput : Accs aux vnements souris, clavier, tactile ou acclromtreAudio : Fournit laccs laudio en E/SGraphics : Donne accs OpenGLLes diffrentes librairies de dveloppement disponibles14LibGdx : structureLe flux de donnes duneapplication LibGdx est trs similaire celle de XNALa principale diffrence est lafusion des mthodes Update() etDraw() qui sont reprsentes parrender()

LibGdx : RessourcePour ajouter les ressources, il faut le faire dans le dossier assets du projet AndroidDe plus, il est prfrable de sparer les types de ressource dans diffrents sous-dossiersPar exemple : images, sons,

LibGdx : Configuration pour chaque projetMme si lon ne code principalement que dans un seul projet, chacun possde sa particularitDesktop : Taille de la fentre, Titre de la fentre, Android : Dsactivation de lacclromtre, compas, Dans le but dconomiser de la batterieHTML5 : Taille de la fentre, LibGdx : Le codeTrouvez une petite image PNG sur le web avec une puissance de 2Dans mon cas un bonhommeDans le projet cur, ouvrez le fichier java principalAjoutez limage dans le dossier assets/images du projet AndroidModifier le code dans le create pour charger votre imageLa puissance de 2 permet doptimiser lutilisation des moteurs de jeu. Autrement, ceux-ci doivent calculer chaque affichage pour arriver un rsultat optimal.18LibGdx : Le codeAjouter les mthodes prives update() et draw()Modifiez render() pour quil appelle respectivement update et ensuite draw

Libgdx : ExcutionLorsque lon excute un projet Desktop pour la premire fois, Eclipse demandera quel fichier contient le main pour excuter lapplicationLibGdx : Type de projectionDans tous les jeux libGdx, il y a une cameraOrthographicCamera pour le 2DPerspectiveCamera pour le 3D

Linstanciation se fait dans create.

21Type de projectionPerspective

Projection orthogonale

libGdx : Type de projectionContrairement au systme Windows, le point 0, 0 est situ dans le coin infrieur gauche de lcran

LibGdx : Le codeDans Create(), instanciez limagecibleImage = new Texture(Gdx.files.internal("images/cible.png"));Dans dispose(), dtruire limagecibleImage.dispose();

LibGdx : update()On y insre le code de manipulation des objetsDans cette mthode on peut grer les vnements tels que le clavier, la souris, le tactile, Lorsque la position dun objet change, il faut rajouter camera.unproject(vector3) pour projeter les coordonnes dans le monde de la camraLibGdx : draw()On y insre le code daffichage des lmentsAjoutez le code pour afficher votre image la position 100, 100batch.draw(druidTexture, 100, 100);

Les sprites sheetCharger une texture dans un jeu est trs demandant pour le systmeSi le jeu devait charger 50 images pour la mme animation, le jeu prendrait beaucoup trop de mmoirePour optimiser le chargement des images, on utilise une feuille dimages (sprite sheet)

Les sprites sheetLe systme naffichera quune portion de limage pour donner diminuer la consommation des ressourcesLutilisation dune feuille de puissance de deux est importante pour optimiser lutilisation des ressources

TextureRegionEn libgdx lquivalent du sprite sheet est la classe TextureRegion

TextureRegion : Code@Overridepublic void create () {batch = new SpriteBatch();img = new Texture("images/goods.png");regions = new TextureRegion[4];// Mthode avec la position des pixelsregions[0] = new TextureRegion(img, 0, 0, 32, 32);// Mthode normaliseregions[1] = new TextureRegion(img, 0.5f, 0f, 1f, 0.5f); regions[2] = new TextureRegion(img, 0, 32, 32, 32); // #5 regions[3] = new TextureRegion(img, 0.5f, 0.5f, 1f, 1f); // #6}TextureRegion : Code@Overridepublic void render () {update();draw();}

private void update() {}

private void draw() {Gdx.gl.glClearColor(0, 0, 0, 1);Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);batch.begin();batch.draw(img, 0, 0);for (int i = 0; i < regions.length; i++) {batch.draw(regions[i], 75 * (i + 1), 100);}batch.end();}

TextureRegionSi la feuille a des textures de dimension identique, il est possible de diviser automatique la feuille en utilisant la mthode splitSyntaxeTextureRegion [][] regions = TextureRegion.split (texture, 64, 64);AnimationUne animation nest quune succession dimages fixe qui saffiche un rythme non-perceptible pour lil humain

Animation30 ips 0,033 ms/imagePrincipe est qu chaque fois que lintervalle est termine, il faut afficher limage suivante

Animation

EntresGdx.input permet daller rcuprer des informations tels que les touches de clavier ou encore la position XY du touchMthodeDescriptiongetX, getYPosition du touchisKeyPressedRetourne la touchePlusieurs autres mthodes disponibles. vous dexplorer!Exercice laide des flches du clavier, faites dplacer un bonhomme anim dans lcran laide de la rotation de la tablette, faites pivoter le bonhomme.Quelle est la fonction pour trouver la rotation de la tablette?RfrenceToutes les rfrences de cette prsentation ont t prise sur le site officiel de LibGdxDbut

create()

render()

fin?

dispose()

Fin

Non

Oui