---> Introduction
---> Installation
---> Premier pas (mettre en place un projet)
Introduction
Libgdx est une bibliothèque multiplateforme qui
permet de développer en écrivant un seul un code source qui pourra être déployé
sous plusieurs plates-formes. Ce qui signifie qu’on pourra développer des applications Android sous un environnement
de desktop. Ce qui va éviter l’utilisation de l’émulateur à chaque fois qu’on
voudra tester notre programme (n’est-ce pas MAGNIFIQUE (^_^)).
Libgdx vous permet
d'aller aussi bas niveau de programmation que vous le souhaitez, vous donnant
un accès direct aux systèmes de fichiers, des périphériques d'entrées, des
dispositifs audio et OpenGL via un 1.x unifiée OpenGL ES et 2.0.
Voici les principales caractéristiques fournis par libgdx :
Une API pour OpenGL ES
(texture, shaders, les vertex arrays …)
Une API pour les graphismes
en 2D (les polices bitmap, les sprites, widgets, des animations …)
Une API pour les graphismes
3D (OBJ chargeurs et MD5, manipulation de la caméra …)
Une API pour les I / O
(audio, photos, graphiques, clés / tactiles / événements clique …)
Une API pour la physique
(box2d) et les mathématiques
De nombreux utilitaires
(JSON, générateur de polices bitmap …)
Dans ce tutoriel on va voir
comment utiliser Libgdx avec Android pour construire un projet d’un jeu ou d’une
application
Le format d'un jeu ou d'une
application Java sera en trois parties comme suite :
La partie logique : Contient le code
construisant notre jeu ou application c’est là que la totalité des fonctions et
opération sont implémentés.
La partie desktop : Contient le lanceur de code source de la partie logique via JOGL
ou LWJGL. Car Libgdx supporte deux back-end pour les applications/jeu
sur desktop.
La partie Android : Contient le lanceur de code source de la partie logique
Installation
L’installation et la mise en place de la
bibliothèque libgdx est une opération très facile.
Premièrement allez sur le site officielle de
libgdx voir ici
Télécharger la dernière version qui se
trouve en haut:
Une fois le téléchargement est finit il faut
extraire le fichier .zip téléchargé.
On suppose que Eclipse et SDK Android soient déjà
disponible. Si ce n’est pas le cas consultez cet article.
Premier pas : La mise en place d’un projet.
Ici on va voir les différentes étapes qu’on
doit à chaque fois effectuer pour créer un projet pour notre jeu ou application.
1) Préparer l’environnement pour le développement desktop
Allez dans Eclipse et créez un nouveau projet
java
Puis nommez le projet gdx-bonjour et cliquer
sur finish
Désormais votre projet est dans le package
explorer. Maintenant on va créez un fichier qui s’appelle libs dans votre projet. Suivez ces étapes en commençant par un clic droit sur le fichier du
projet :
Le fichier doit obligatoirement s’appeler libs comme suite :
Puis cliquez sur finish
Ce fichier va contenir les jars de la bibliothèque
libgdx
Créer un autre fichier et appelez le assets
Le fichier assets c’est pour contenir les
ressources s’il y en a (et ce n’est pas le cas de notre projet et on va voir l’utilité
dans un autre tutoriel)
Vous vous souvenez toujours du fichier qu’on a téléchargé.
Et que je vous ai demandé d’extraire son contenu (Très bien). Parmi les
fichiers qu’il contient on a ces jars :
·
gdx.jar
·
gdx-backend-jogl.jar
·
gdx-backend-jogl-natives.jar
·
gdx-natives.jar
Copiez
ces 4 fichiers jar dans le fichier libs qu’on a créé dans notre projet gdx-bonjour
Remarque : dans ce tutoriel j’ai choisi le back-end JOGL. Par contre si on opte
pour LWJGL il faudra bien sur
copier les JARs de LWJGL
Maintenant on va ajouter ces jars dans le
projet gdx-bonjour.
Faite un clic droit sur votre projet et faite
: Build Path ---> Configure Build Path
Puis allez dans l’onglet Library et
cliquez sur Add JARs :
Puis sélectionnez sur les 4 JARs qui se
trouvent dans le fichier libs de notre projet comme suite :
Une fois sélectionnés cliquez sur ok
Maintenant
allez sur l’onglet source et cliquez sur Add Folder puis ajoutez le
fichier assets : qu’on a créé dans notre projet
Cliquer sur ok
Une fois ses opérations effectuées :
vous pouvez vous consacrez sur le code source de vos apps/jeux
2) Préparer l’environnement pour le développement Android
Premièrement créez un nouveau projet Android :
Nommez le gdx-bonjourAndroid et cliquez suivant.
Choisissez votre émulateur puis cliquez sur suivant.
Entrez le nom
de votre application moi je l’ai nommé gdx-bonjourAndroid
Entrez nom
du package, moi je l’ai nommé my.works.gdxbonjourAndroid
Entrez le
nom de la class actvity moi je l’ai nommé main
Cliquez sur finish
Maintenant, on va créer un fichier qui s’appelle
libs dans notre projet. faite un clic droit sur le gdx-bonjourAndroid qui désormais se
trouve dans le Package Explorer puis faire :
New ---> Folder
C’est nécessaire d’appeler le fichier libs
Maintenant on va mettre dans ce fichier ces
JARs qui se trouvent dans le fichier qu’on a téléchargé :
·
gdx.jar
·
gdx-backend-android.jar
·
armeabi
·
armeabi-v7a
Maintenant, on va ajouter les JARs dans
notre projet. Faite un clic droit sur notre projet gdx-bonjourAndroid puis allez vers Build Path ---> Configure
build path
Cliquez sur l’onglet Libraries puis faite Add JARs , selectionnez les
deux JARs :
· gdx.jar
· gdx-backend-android.jar
Cliquez sur OK.
Maintenant on va importer le premier projet gdx-bonjour
Cliquez sur l’onglet Project puis sur le bouton Add et cochez
le projet à importer gdx-bonjour
Une fois tout cela effectué on peut se consacrer sur le code source .
3) Préparer le code source
Allez dans le projet desktop gdx-bonjour et créez une nouvelle
class dans un nouveau package qui s’appellent respectivement Jeu et my.works.jeu et dont le
contenu de la class Jeu est :
package my.works.jeu;
import
com.badlogic.gdx.ApplicationListener;
public class Jeu implements ApplicationListener {
@Override
public void create() {
}
@Override
public void dispose() {
}
@Override
public void pause() {
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
Gdx.gl.glClearColor(0, 1, 0, 1);
}
@Override
public void resize(int arg0, int arg1) {
}
@Override
public void resume() {
}
}
Ce code source ne fait que colorer la surface en vert. Je vous promet une explication plus détaillez concernant ce code dans les prochains tutoriels.
Créez une autre class dans le projet gdx-bonjour. J’ai appelais cette class LanceurDesktop et dont le contenu est :
package my.works.jeu;
import
com.badlogic.gdx.backends.jogl.JoglApplication;
public class LanceurDesktop {
public static void main(String[] args) {
new JoglApplication (new Jeu(),"titre du jeu",480,320,false);
}
}
Maintenant,
Modifiez la class main du projet gdx-bonjourAndroid
pour qu’elle soit comme ceci :
package my.works.GdxbonjourAndroid;
import my.works.jeu.Jeu;
import com.badlogic.gdx.backends.android.AndroidApplication;
import android.os.Bundle;
public class main extends AndroidApplication {
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
initialize(new Jeu(), false);
}
}
Si vous exécutez le premier projet (gdx-bonjour) vous aurez :
Si vous exécutez le deuxième projet (gdx-bonjourAndroid) vous
aurez :
Pour résumer les choses voici à peu prêt ce qu’on a fait :
Merci pour ce tuto... ptite incoherence ici :
RépondreSupprimerCliquez sur l’onglet source puis faite Add JARs
c'est plutôt :
Cliquez sur l’onglet Libraries.
xfrtce @ imaginesite.fr
Merci xfrtce de votre remarque l'erreur est corrigée, heureusement qu'il y a les captures d'écran !
RépondreSupprimerBonjour, je rencontre un problème a l’exécution sur android, le programme marche parfaitement sur mon ordinateur, mais sur ma tablette j’obtiens l'erreur suivante que je n'arrive pas a comprendre :
RépondreSupprimer01-13 18:47:50.472: E/AndroidRuntime(27575): FATAL EXCEPTION: main
01-13 18:47:50.472: E/AndroidRuntime(27575): java.lang.NoClassDefFoundError: my.works.jeu.Jeu
01-13 18:47:50.472: E/AndroidRuntime(27575): at my.works.gdxbonjourAndroid.Main.onCreate(Main.java:11)
je précise que j'ai répéter les indications du tutoriel plusieurs fois pour être sur de ne pas avoir fait d’erreur.
J'ai la même erreur que Simon.
SupprimerJ'ai trouvé la solution. Il faut compiler en version java 1.6 et non 1.7.
SupprimerBonjour, je rencontre la même erreur que Simon depuis 3 jours. J'ai effectuer des recherches en vain.
RépondreSupprimerSi quelqu'un pourrait m'aider!!! Merci
+1
SupprimerJ'ai le même problème, l'application ne se lance pas sur Android.
Et la solution proposée ne change rien.
Merci d'avance pour l'aide !
je vien de trouver la solution , il suffit de creer une nouvelle classe Jeu dans le package my.works.gdx_bonjourandroid et copier le code de la classe Jeu de l'autre package my.works.jeu
Supprimerpuis dans mainActivity , enlever cette ligne : import my.works.jeu.Jeu;
je pense que c t un probleme de chemin ,
pour moi ca marche , bon courage !
Bonjour, Merci pour Le tutoriel mais est ce que tu peut nous mettre le code de la fichier manifest.xml et merci d'avance
RépondreSupprimerPour les personnes comme moi, qui ont le problème de "NoClassDefFoundError" et que pendant des jours et des jours essaye de trouver la solution, je vous conseille d’utiliser le "gdx-setup-ui" pour créer le projet et après vous avez juste a modifier de code.
RépondreSupprimerPour les personnes qui ont le problème de NoClassFoundError :
RépondreSupprimerD'abord, cliquez droit sur le projet gdx-bonjour et sélectionnez "Configure Built Path" qui se trouve dans "Built Path" puis dans l'onglet "librairie" sélectionnez JRE System Librairie et cliquez sur "edit". A coté de "Excecution environment" sélectionner le Java SE 1.6. Cliquez sur ok pour valider vos modifications.
Ensuite, cliquez droit sur le projet gdx-bonjourAndroid et sélectionnez "Configure Built Path" qui se trouve dans "Built Path" puis dans l'onglet "Order and Export" cochez la case qui correspond à gdx-bonjour. Cliquez sur ok pour valider vos modifications.
Lancez votre projet avec le Android virtual device Nexus S (c'est celui que j'utilise et qui marche actuellement) : pour le modifier, dans l'onglet "Window" cliquez sur Android Virtual Device manager et sélectionnez l'AVD que vous utiliser et cliquez sur edit (ou créer en un si la liste est vide) et dans "device" sélectionnez le Nexus S.
Normalement, ca devrait réglé pas mal de beug :)
Ce commentaire a été supprimé par l'auteur.
RépondreSupprimer