j'ai récemment fait plusieurs gestionnaires m'aidant à utiliser la bibliothèque SDL et FMOD, et en supplément un créateur de fenêtre interne, et j'ai eu envie de le distribuer, pour que d'autre personnes puissent en profiter
~ Version actuelle ~
version : 0.1.1 date : 12 août 2007
~ Bibliothèque SGes ~
Le nom de ma bibliothèque est SGes (contraction de << SDL Gestionnaire >>). Elle contient, en tant que fichiers :
Un Dll (sges.dll)
Un fichier ".a" (libsges.a)
Une documentation [pas 100% complété, mais viable] (présentement seulement en français)
Les fichiers d'inclusion ".cpp" et ".h" contenu dans un dossier nommé "SG".
~ Installation et utilisation ~
Elle est installable assez facilement sous windows avec code::blocks; comparable à l'installation de la SDL :
Mettre le dll dans le dossier du projet
dans le dossier lib de mingw, y inclure le fichier libsges.a
Dans le dossier include de mingw, y inclure le dossier nommé SG
Dans les options de projet, linkez sur le fichier libsges.a
par contre je n'ai aucune idées comment on le fait marcher sous linux
pour l' "include" de début de fichier, c'est :
#include <SG/SGes.h>
notez qu'il semble assez bien remplacer ceci, en même temps :
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_ttf.h>
#include <SDL/SDL_rotozoom.h>
#include <FMOD/fmod.h>
~ Dépendances ~
La bibliothèque a quelques dépendances; les voici, avec un lien pour les obtenir :
Concrètement, la bibliothèque contient quelques classes, dont en voici une description (sommaire) directement prit de la documentation :
SurfMan
SurfMan est un gestionnaire graphique, qui permet de charger / décharger en mémoire images/textes/"surfaces normal" automatiquement, et de dessiner à l'écran les-dites surfaces. Une fonction intéressante est la priorité de superposition : en joignant une surface au gestionnaire, vous lui attribuez un nombre qui, plus est élevé, plus la surface sera au dessus des autres lors de l'appel d'une méthode nommé "drawAll" (qui dessinera tout les surfaces joint au gestionnaire).
SoundMan
SoundMan est un (petit) gestionnaire de sons, qui permet d'utiliser plusieurs type de son sans s'empêtrer dans différentes type de variable. Il gère la mémoire des sons, donc la libération des sons se fait automatiquement lors de la destruction du gestionnaire.
StateMan
StateMan est un gestionnaire d'état, contenant, pour chaque état, un gestionnaire de processus (<a href="proc.html">ProcMan</a>). En changeant d'état, les processus appellé diffère lorsque "runAll()" est utilisé.
ProcMan
ProcMan est un gestionnaire de processus. En créant un processus, une fonction/méthode est lié à au processus, et lors de l'appel du processus (run(nom) ou runAll()), la fonction/méthode est appellé. La signature(prototype) de la fonction doit par contre être :
void nomDeLaFonction(void*,void*)
et pour utiliser le(s) argument(s) lié à la fonction, il faut caster le(s) argument(s) de fonction.
Windowskin
Windowskin permet de dessiner à l'écran une fenêtre, en utilisant les "windowSkins" de Rpg Maker XP (voir dossier "windowskin skin" joint à la documentation pour des examples).
~ Espace sourceforge.net ~
Mon projet est actuellement hébergé par sourceforge, et il est disponible ici :
les sources sont compatible linux/windows, mais pour ce qui est de savoir comment compiler/utiliser ma librairie pour qu'elle soit utilisable sous linux, je ne sais pas je vais faire des recherches là dessus
Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
Pour qu'une lib soit utilisable sous Linux, il faut, si je ne me trompe pas, la compiler sous Linux, comme tu le ferais sous Windows, par exemple avec Code::Blocks, la seule différence est que tu obtiendras un .so au lieu d'un .dll
... par contre, je rencontre quelques problèmes à compiler sous linux.. mais bon, je vais m'en sortir
Présentement, j'ai ajouté une classe pour ma prochaine version (0.2.0) : CLickableText (texte clickable; un boutton quoi) et j'ai corrigé plusieurs bugs dans SurfMan.
Aussi, je suis en train de faire un jeu-démonstration (Tétris), en utilisant massivement ma bibliothèque. j'ai commencé hier matin et j'en suis à environs 40% complété.
Enfin, j'aimerais finir ma documentation (anglais/français) avant de poster la nouvelle version
Bref, que de boulot !
Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
[Bibliothèque c++] SGes
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.