Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

QUELQUES FONCTIONS POUR FACILITER LA PRISE EN MAIN DE LA SDL


Information sur la source

Catégorie :Graphique Classé sous : sdl, graphique, 2d, bmp Niveau : Débutant Date de création : 14/12/2005 Vu / téléchargé: 3 851 / 619

Note :
8,75 / 10 - par 4 personnes
8,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

Description

Tout est dans le titre il me semble. Voilà quelques fonctions et quelques utilisations basiques que l'on peut faire avec la SDL.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de le_duche le 14/12/2005 10:57:25

Je sais que cette source n'est pas très propre, je ne sais meme plus si elle est compilable telle quelle, mais c'est surtout pour avoir un premier avis avant de la terminer sérieusement...
Donc svp, pas de note tout de suite, je sais bien que c'est pas terrible...

signaler à un administrateur
Commentaire de BruNews le 14/12/2005 11:27:29 administrateur CS

SDL_Rect Rect(int x,int y,int w,int h)
{
SDL_Rect r; //Dclare un rectangle SDL
....
return r; //Renvoie ce rectangle cr
}

On ne retourne jamais ce qu'on met sur la pile, toutes chances d'être écrasé en sortie de fonction.

"pas très propre", "pas terrible", etc... Si tu sais toi même que ce n'est pas bon il ne faut pas le mettre en source. Une source se doit d'être un exemple pour ceux qui la liront, le reste va sur le forum.

signaler à un administrateur
Commentaire de le_duche le 14/12/2005 11:29:41

non aucun problème, car le type SDL_Rect est un type de pointeur...

signaler à un administrateur
Commentaire de le_duche le 14/12/2005 11:30:16

pour ce qui est de la clareté, je compte l'améliorer, c'est pour ca que je l'ai mis en source...

signaler à un administrateur
Commentaire de BruNews le 14/12/2005 11:43:32 administrateur CS

type de pointeur, c'est quoi ???
Pourrais-tu demander la sortie du listing asm de ton compilo, j'aimerais bien savoir ce que fait cette fonction Rect(), merci d'avance.

signaler à un administrateur
Commentaire de le_duche le 14/12/2005 11:50:36

Pourrais-tu demander la sortie du listing asm de ton compilo, j'aimerais bien savoir ce que fait cette fonction Rect(), merci d'avance.
> ca c'est du chinoix pour moi.
Mais de toute façon j'ai dit une connerie...
C'est pas un pointeur... c'est une variable de type SDL_Rect et j'ai pas creusé plus loin.
Ce qui m'a induit en erreur, c'est qu'on utilise tout le temps des pointeurs SDL_Rect* dans le code...

Mais pour en revenir à ta remarque, je ne vois pas ou est le problème, puisqu'il renvoie un SDL_Rect par valeur. Je ne comprend pas ce qui pourrait foirer...
(j'utilise cette fonction tout le temps et elle marche très bien...
je devrait peut etre juste la mettre en 'inline'...)

signaler à un administrateur
Commentaire de vecchio56 le 14/12/2005 13:47:34 administrateur CS

Je pensais qu'a part les tableaux, ca ne posait pas de problème de retourner une variables globale... Par exemple, on peut très bien retourner une variable de type RECT, non? En tous cas en C++, c'est courant de retourner des objets de type complexe

signaler à un administrateur
Commentaire de BruNews le 14/12/2005 14:14:12 administrateur CS

Si on peut retourner un RECT, bien pour cela que j'aurais aimé voir ce que le compilo met comme code, EDX:EAX plafonne à 64 bits, je me demande donc où il met le reste.

signaler à un administrateur
Commentaire de le_duche le 14/12/2005 15:16:25

Ben il me semble qu'un SDL_Rect n'est jamais qu'un 4-uple de int... c'est pas très gros quand meme...
Dans mon autre projet, je peux renvoyer des matrices doubles 100*100 si je veux. Je pense que c'est le constructeur de recopie par défaut qui gère ca...

signaler à un administrateur
Commentaire de Asher256 le 14/12/2005 17:04:12

Pour la portabilité du code source il est préférable d'enlever la déclaration <windows.h> dans les fichiers "MySDL.h" et "MySDL.cpp".

Il faudrait inclure <stdarg.h> dans dans "MySDL.cpp" (puisque tu as utilisé la fonction "va_start()").

Il faudrait aussi inclure <string.h> dans MySDL.cpp car la fonction strlen() a été utilisée.

Sinon je trouve ton code bien commenté. Très utile pour tout ceux qui souhaitent débuter avec la SDL.


signaler à un administrateur
Commentaire de Asher256 le 14/12/2005 17:07:53

Il faut enlever la déclaration <windows.h> de MySDL.cpp et MySDL.h pour assurer la portabilité du code.

Il faut déclarer <string.h> et <stdarg.h> dans MySDL.cpp.
<string.h> car strlen() a été utilisée.
<stdarg.h> car va_start() a été utilisée.

Avec ces déclarations cela garantira sa compilation dans d'autres OS (c'est l'avantage d'SDL par rapport à DirectX non? :-) )

Ton code est bien commenté. Il sera utile pour toute personne souhaitant débuter avec SDL.

signaler à un administrateur
Commentaire de le_duche le 14/12/2005 18:12:01

ben pourtant ca compile comme ca ???
Tu peux m'expliquer un peu pourquoi je dois faire ca ? pcq la je comprend pas trop...

signaler à un administrateur
Commentaire de jean84 le 15/12/2005 12:25:07

C'est vrai qu'il y a du bon dans ton code ... comme du moins bon mais sa arrive a tout le monde ;-)
Je viens de debuter dans l'utilisation de la SDL et je dois dire que t'as eu pas mal de bonnes idees pour simplfier la vie et j'en prendrai note car sa vaut vraiment le coup ! Par contre ce qui est reprochable c'est qu'en sachant pertinament qu'on aurait du mal a compiler, tu n'as pas mis d'exe dans le zip, juste histoire de voir a quoi sa ressemble meme si on arrive a imaginer le resultat .... pense y pour la prochaine fois ou lors d'une mise  jour !!
@++

signaler à un administrateur
Commentaire de le_duche le 15/12/2005 13:11:15

ben c'est dans les recommandations du site de ne pas mettre d'exe...

signaler à un administrateur
Commentaire de jean84 le 15/12/2005 15:32:27

c'est vrai... m'enfin vu que maintenant je te le demande .... tu le renomme en .exe_ et tu met a jour non ?

signaler à un administrateur
Commentaire de Asher256 le 15/12/2005 15:49:38

[quote]
ben pourtant ca compile comme ca ???
Tu peux m'expliquer un peu pourquoi je dois faire ca ? pcq la je comprend pas trop...
[/quote]

Je sais que ça marche chez toi mais il serait mieux que ça marche dans d'autres compilateurs ou même d'autres systèmes.

J'utilise gcc 3.3.5 sous Gentoo Linux.

Il est normal que <windows.h> n'existe pas chez moi.

Et puis je pense que gcc est plus strict pour ce qui est de la compilation (d'ou le stdarg.h et string.h qui déclarent respectivement va_start() et strlen()).

Les include que je t'ai proposé vont premettre à ton code source de toucher plus de compilateurs/systèmes.

@+ et bonne continuation.

signaler à un administrateur
Commentaire de le_duche le 15/12/2005 15:51:13

ok je retiens la remarque !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

comment déplacer un bmp dans une fenêtre graphique? [ par seb1664 ] comment faire des simples translations horizontales et verticales d'une image bmp dans une fenêtre graphique.Le pb est surtout que je n'ai aucune idée Librairie graphique et controle... [ par frednet01 ] J'ai un projet personnelle, qui consisterais a déplacer des images (des pions) sur une autre image (une carte) avec différent effet graphique ( smog, SDL: afficher un BMP [ par yugiohjcj ] Bonjour,c'est mon deuxième message sur ce forum pour un problème avec SDL.Cette fois, je n'arrive pas à afficher une image BMP.Voici la source:void Sh [SDL] Alternation d'une image [ par hoxid ] Salut !Bon voila j'ai un probleme avec SDL :je veux par exemple faire un gars qui marche (image "bonome.bmp") et que cette image se change en "bonomeq TEXTURE SDL_IMAGE JPEG [ par Batman60 ] salutquelqu'un peut me dire ce qui cloche dans mon bout de code utilis&#233; pour charger une texture jpeg j'utilise la lib SDL_IMAGE pour celaest-ce MASTERMIND (MODE GRAPHIQUE EN SDL) [ par imadonline ] slt tt le monde,je viens de m'initier un peu dans le SDL m&#233; g encor un probl&#233;m avec les sprites et la gestion de clavier,etant donn&#233; ke Mon moteur graphique (2D) va à 10 FPS ? [ par ProGamer ] Je ne comprends pas... Sur mon PC (processeur AMD Athlon XP 1500+), je l'ai testé, à 60 FPS. J'ai ensuite essayé sur mon ancien PC, qui est tout de mê Graphique 2D [ par obby ] Bonjour,&nbsp;&nbsp; Je travaille sur un projet avec une version C++ de GTK (Gtkmm) pour &#234;tre compatible Windows et Linux. Je dois r&#233;aliser initiation interface graphique [ par developvbdebut ] Bonjour tout le mondeApres avoir passé de moi à étudié la language c en mode console,  je souhaiterais m'initier au interface graphique en c.Je souhai Librairie graphique 2D [ par bouba ] Bonjour, je cherche une librairie graphique C++ pour faire du dessin en 2D. En fait je dois faire un comparatif, pour le moment je me suis renseigné q


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.