Présentation de bibliothèque SDL en Java

Formation

En Semi-présenciel Paris

Prix sur demande

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Description

  • Typologie

    Formation

  • Méthodologie

    En semi-présentiel

  • Lieu

    Paris

Grâce à cette formation vous pourrez acquérir les connaissances nécessaires qui vous permettrons d’ajouter des compétences à votre profil et obtenir de solides aptitude qui vous offriront de nombreuses opportunités professionnelles.

Les sites et dates disponibles

Lieu

Date de début

Paris ((75) Paris)
Voir plan
7 Cité Paradis, 75010

Date de début

Consulter

Questions / Réponses

Ajoutez votre question

Nos conseillers et autres utilisateurs pourront vous répondre

À qui souhaitez-vous addresser votre question?

Saisissez vos coordonnées pour recevoir une réponse

Nous ne publierons que votre nom et votre question

Les Avis

Le programme

Introduction du cours

Bonjour à tous,

Aujourd'hui nous allons découvrir et utiliser la librairie sdljava. Comme vous devez le savoir, la librairie SDL (« lib SDL » pour les intimes ;) ) est principalement utilisée pour créer des jeux vidéos en 2D voire en 3D si on l'utilise avec OpenGL. Pour être capable de suivre ce tutoriel, il est recommandé de connaître suffisamment Java, c'est-à-dire :

  • gestion d'un projet ;

  • gestion des exceptions ;

  • transtypage (cast) ;

  • approche objet.

La lecture du tutoriel « Programmation en Java » est donc vivement conseillée. Je ne vous en dis pas plus, c'est parti !
La lecture du tutoriel « Apprenez à programmer en C », partie IIIpeut être un plus.

Les bases de sdljava

Dans cette partie, nous verrons les principes fondamentaux pour utiliser la SDL avec Java. J'utiliserai l'EDI Eclipse pour l'installation et la configuration du projet, ce n'est pas très différent avec les autres EDI, mais je n'en parlerai pas. L'installation sera vraiment pas à pas, ainsi, les personnes n'ayant jamais travaillé avec des librairies externes ne seront pas perdues :) .

Utilisateurs de systèmes 64 bits : vous devez avoir une machine virtuelle Java 32 bits, ainsi que les différents fichiers (.dll ou .a) en version 32 bits, sinon ça ne fonctionnera pas correctement. En effet sdljava est compilée pour les système 32 bits.

Installation et préparation du projet

Voici la première étape de l'utilisation de sdljava : l'installation et la configuration. Mais avant cela, j'ai des choses à vous dire concernant cette bibliothèque car comme toutes les bibliothèques elle a des avantages, mais aussi des inconvénients. Je ne suis pas là pour vous les donner, mais je vous dirai ce que vous pourrez faire et ce que vous ne pourrez pas faire.

Pour installer cette bibliothèque, vous aurez besoin :

  • d'un JDK 1.4 (minimum) ;

  • de l'EDIEclipse ;

  • ou de l'EDINetbeans ;

  • de la bibliothèque SDL version C (Linux ou Windows).

Si vous utilisez une JVM 64 bit, vous pourrez rencontrer des problèmes ; je vous encourage donc à utiliser une JVM 32 bit. Que vous utilisiez un système 64 bits Linux ou Windows, l'installation d'une JVM en 32 bits reste possible à moins que vous soyez sur un système entièrement en 64 bits qui ne prend pas en charge l'exécution de code 32 bits.

C'est tout. :) Allez, on y va !

Le binding sdljavaBinding ?

Nous allons bientôt commencer l'installation, mais avant je voudrais vous parler de cette bibliothèque.
Comme vous le savez la librairy SDL est, à l'origine, programmée en langage C puis est compilée pour fonctionner avec ce dernier (et avec le C++). C'est là qu'intervient le mot binding. Un binding, c'est, en gros, un portage de bibliothèque d'un langage A vers un langage B. Dans binding, vous avez bind qui signifie en anglais "lier" ; c'est donc une liaison. C'est d'ailleurs pour cela qu'on aura besoin des fichiers libSDLmain.a ou SDL.dll de la bibliothèque standard C pour faire fonctionner notre application.

Citation : Wikipedia

Un binding (qui est un terme anglais désignant l'action de lier des éléments entre eux) signifie en informatique le fait de permettre l'utilisation d'une bibliothèque logicielle dans un autre langage de programmation que celui avec lequel elle a été écrite.

Nombre de bibliothèques sont écrites dans des langages proches de la machine comme le C ou le C++. Pour utiliser ces bibliothèques dans un langage de plus haut niveau, il est donc nécessaire de réaliser un binding.

La conception d'un binding peut être motivée par le fait de profiter des performances offertes par l'utilisation d'un langage bas niveau que l'on ne peut obtenir avec un langage de plus haut niveau. La réutilisation de code éprouvé peut également être une autre source de motivation.

Contenu de sdljava

La librairy sdljava contient tous les éléments de la bibliothèque originale SDL (c'est déjà pas mal :p ), mais contient aussi des extensions. En voici quelques-unes :

  • SDL_image : permettra de manipuler plusieurs formats d'image ;

  • SDL_mixer : permettra d'ajouter du son et de la musique dans nos applications ;

  • SDL_ttf : permettra d'écrire dans notre fenêtre ;

  • OpenGL : permettra d'utiliser l'accélération matérielle pour l'affichage.

Ce que vous devez savoir avant de commencer

Cette bibliothèque :

  • est un binding, c'est-à-dire que vous devrez distribuer les fichiers .a ou/et .dll avec votre application ;

  • n'existe pas en binaire pour Mac OS X, et la compilation est assez complexe (je n'y suis pas arrivé) ;

  • dont la version "stable" 0.9.1 date de 2005, et dont la version cvs n'a pas été modifiée depuis fin 2006.

Préparation de l'installationTéléchargement de sdljava

Nous allons maintenant télécharger la bibliothèque pour l'utiliser avec Eclipse ou Netbeans. Vous avez deux solutions : soit vous téléchargez les binaires (donc déjà compilée), soit les sources (c'est à vous de compiler). Nous allons privilégier la première méthode si ça ne vous dérange pas. :) Rendez-vous sur la page de téléchargement de sourceforge pour récupérer la version que vous voulez (Linux ou Windows).

  • Version Linux ;

  • Version Windows ;

  • Pour les suicidaires : les sources. :-°

Bien sûr, nous utilisons un binding, donc comme je vous l'ai expliqué nous devons aussi avoir les fichiers libSDLmain.a ou SDL.dll de SDL version C pour utiliser sdljava.
En avant pour le site officiel de SDL !

Nous n'avons pas besoin de prendre les versions de développement, contrairement au tutoriel de M@teo21 sur le SDL en langage C ; les runtime library feront l'affaire. :) Je tiens à préciser pour les utilisateurs de Linux que le site ne propose que des paquets RPM : suivant votre distribution, il faudra donc rechercher le fichier SDL correspondant. L'idéal serait une compilation de la bibliothèque et c'est ce que nous allons voir tout de suite. Les utilisateurs de Windows peuvent passer cette étape.

Récupération du fichier libSDLmain.a sous Linux

La récupération de libSDLmain.a peut se faire de différentes manières. Par exemple, si vous avez déjà SDL d'installé sur votre machine, vous devriez pouvoir retrouver ce fichier. Mais ici, pour que tout le monde soit sur un même pied d'égalité, nous compilerons les sources de SDL puis nous récupérerons notre fichier libSDLmain.a (tout ça pour un fichier, mais ça en vaut la peine :) ).

Assurez-vous d'avoir installé les outils de développement.

Normalement, si vous avez déjà libsdl installé sur votre machine, vous devriez trouver libSDLmain.a dans /usr/lib .

Si vous avez déjà SDL installé mais que vous ne trouvez pas le fichier, vous pouvez suivre ce qui suit, jusqu'à la récupération du fichier. L'installation ne sera pas obligatoire pour vous.

  • Téléchargez les sources de SDL ici.

  • Décompressez l'archive dans votre répertoire de travail par exemple.

  • Ouvrez un terminal, entrez dans le répertoire nouvellement décompressé et tapez :

    ./configure make

Vous avez votre bibliothèque compilée, mais pas installée. Vous pouvez déjà aller dans le répertoire build du répertoire SDL et vous y trouverez... un fichier nommé libSDLmain.a. :magicien:

Mettez-le de côté pour l'instant. Si vous avez déjà SDL installée, vous pouvez passer la prochaine étape. À partir de maintenant, vous n'avez plus qu'à vous mettre en super-utilisateur dans le terminal (commande su suivie de votre mot de passe ou sudo si vous êtes sous debian-like) et à taper make install.

Récapitulatif des commandes

Pour distribution non debian-like (Slackware, Mandriva, Fedora, OpenSuse...) :

./configure make su # saisie du mot de passe make install

Pour distribution debian-like avec sudo (Debian, Ubuntu et dérivés...) :

./configure make sudo make install # saisie du mot de passe

Voilà ! SDL version C est installée sur votre système et nous avons notre fichier libSDLmain.a. :p On peut donc passer à la suite !

Le fichier SDL.dll sous Windows

Rendez-vous ici et téléchargez l'archive, puis décompressez son contenu dans un dossier que vous mettrez de côté.

Je n'ai pas donné de lien pour la version Mac Os X car comme je vous l'ai dit, je n'ai pas réussi à la compiler (les binaires n'existant pas >_ ), mais si j'arrive à faire quelque chose le tutoriel sera actualisé. Si vous êtes sous Mac Os X et que cela vous intéresse, vous pouvez me contacter.

Préparation de l'installation

Bien qu'on ne puisse pas vraiment parler d'installation, car nous ferons uniquement de la copie, il y a des choses à faire dans l'ordre !
Tout d'abord, vous allez décompresser l'archive de sdljava.

Vous pouvez constater qu'il y a plusieurs dossiers. Nous n'en utiliserons que deux, dont un obligatoire, et un vivement conseillé. Nous garderons donc les répertoires : lib et docs.

  • lib : contient le jar de sdljava ainsi que les fichiers .so ou .dll qui lui sont propres ;

  • docs : contient la javadoc de sdljava ; elle est réellement indispensable !

Vous pouvez donc les mettre de côté avec le fichier libSDLmain.a / SDL.dll et passer à la dernière étape. :soleil:

Création du projet avec Eclipse

Nous allons maintenant créer notre projet sous Eclipse. L'avantage est qu'Eclipse est multi plates-formes donc en utilisant la même version sous Linux ou Windows, le résultat sera exactement le même. :)

Création du projet

Lancez Eclipse comme vous en avez pris l'habitude. Ensuite, créez un nouveau projet Java, puis un nouveau package et pour finir une nouvelle classe, qui contient une méthode main (n'oubliez pas de cocher la case public static void main(...). Pour notre exemple, j'ai créé un projet qui se nomme TutorielJavaSDL, puis un package que j'ai appelé configuration et enfin une classe installation.
Nous allons maintenant installer la lib' sdljava. Pour cela, rien de plus simple, mais je vais vous faire un petit rappel sur l'architecture d'un projet avec Eclipse.

Les projets sous Eclipse

Quand vous créez un nouveau projet, celui-ci est copié dans le workspace (espace de travail), ce dernier est placé par défaut dans $HOME/workspace sous Linux et C:\Documents and Settings\(utilisateur)\workspace sous Windows 2000/XP (C:\Utilisateurs\(utilisateur)\workspace sous Vista). Si vous consultez le workspace, vous constatez qu'il y a un répertoire par projet et que ces derniers se composent eux-même de répertoires (bin & src).

En résumé dans le workspace

Il y a un répertoire qui porte le nom de votre projet. Ce dernier en contient deux autres :

  • bin : contient les fichiers compilés .class ;

  • src : contient les fichiers sources .java ;

Si on s'intéresse à un de ces répertoires, on constate qu'il contient encore un répertoire ! >_ Ce sont les packages (par défaut il n'y en a pas) et enfin dans ce répertoire (package), il y a vos sources !

Les conventions de nommage pour ce tutoriel

Je nommerai :

  • Répertoire racine : le répertoire qui contient bin & src ;

  • Répertoire source : le répertoire qui contient vos sources, c'est-à-dire l'intérieur du package ;

  • Même chose pour les binaires !

Installation de la bibliothèque

Cette partie est très simple : vous allez copier le dossier lib de sdljava à la racine de votre projet avec le fichier libSDLmain.a ou SDL.dll (selon votre OS). Votre racine doit ressembler à cela :

Configuration d'Eclipse

Faites un clic-droit sur votre projet puis sélectionnez Properties (Propriétés). Une fenêtre s'affiche.

Sélectionnez Java Build Path : c'est dans cette partie que nous allons indiquer à Eclipse où est sdljava (car Eclipse ne peut pas le deviner tout seul). Cliquez sur Add External JARs.

Vous devez sélectionner le fichier sdljava.jar qui se situe dans le répertoire lib de votre projet. Validez, puis cliquez sur la petite flèche noire à gauche de sdljava.jar dans la liste (voir screen).

Cliquez deux fois sur Source attachement et choisissez l'option External File... : vous devez sélectionner encore une fois sdljava.jar (qui, je le rappelle, est présent dans le dossier lib de votre projet).
Cliquez deux fois sur Native library location et choisissez l'option External Folder... : cette fois, vous devez indiquer dans quel répertoire se trouve sdljava ; c'est donc simple, il suffit d'indiquer le répertoire lib de votre projet.

Voilà ce que vous devez avoir après ces étapes :

L'installation est terminée ! Si, je vous assure. :) Nous allons exécuter un programme de test pour vérifier que tout fonctionne correctement. Si vous avez un souci avec le programme de test, recommencez l'installation : une chose vous a peut-être échappé.

Programme de testpackage configuration; import sdljava.SDLMain; import sdljava.SDLException; import sdljava.video.*; public class Installation { private SDLSurface screen = null; public Installation() throws SDLException, InterruptedException { SDLMain.init(SDLMain.SDL_INIT_VIDEO); screen = SDLVideo.setVideoMode(640, 480, 32, SDLVideo.SDL_DOUBLEBUF |...

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Présentation de bibliothèque SDL en Java

Prix sur demande