Débutant en C a du mal avec la SDL

Résolu/Fermé
Messages postés
677
Date d'inscription
dimanche 30 novembre 2008
Statut
Membre
Dernière intervention
2 février 2012
-
Messages postés
677
Date d'inscription
dimanche 30 novembre 2008
Statut
Membre
Dernière intervention
2 février 2012
-
Bonjour,
Voilà, je fais du C depuis quelques mois (pas trop intensivement). En suivant le tutoriel du SDZ je suis arrivé à la partie SDL.
Suite aux petits exercices de dégradés j'ai eu l'idée de faire une petite palette de sélection de couleur.

J'ai en fait deux problèmes, issus de la même cause :
- pour éviter les série de SDL_FreeSurface à la fin de la fonction main, juste avant la cloture du programme, je voudrais regrouper tout ce qui est libération de la mémoire dans une fonction. Et le problème se pose là : si je fais
SDL_FreeSurface(maSurface);
dans une fonction, alors que maSurface a été déclarée dans une autre fonction, le compilateur me dit : variable non déclarée dans cette fonction... etc

- dans ma fonction qui gère l'affichage des surfaces, quand je fais un
SDL_FillRect(maSurface, NULL, SDL_MapRGB(ecran->format, 255, 255, 255);
mon compilateur ne trouve pas ecran->format puisque ecran n'pas été déclaré dans la même fonction

Et comme je risque d'avoir ce genre de problèmes tout au long de la construction de mo projet, je ne vois vraiment pas comment m'en sortir, à moins de bourrer mon programme de variables globales (ce qui est paraît-il pas très recommandé) ou de ne faire qu'une fonction (ce qui ne l'est paraît-il pas non plus...).

5 réponses

Messages postés
96
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
31 décembre 2011
17
Bonjour,
1 : Fait un variable globale
2 : idem
> Voilà, je fais du C depuis quelques mois (pas trop intensivement). En suivant le tutoriel du SDZ

Un bon conseil, arrête de suite.
Le niveau en C est plus que minable et la SDL, qu'est-ce que ça vient faire là ?!
C'est une librairie complètement obsolète, qui n'a même pas d'accélération Hardware !
On n'est plus en 1980 à faire des Pong ou des Mario Bros !!!

Ces "tutos" du sdz sont complètement stupides : sur un "tuorial en C, il sortent d'utiliser SDL et sur un tutorial en C++, d'utiliser QT !!
Ca n'a absolument AUCUN sens.
(et QT n'est quasi plus utilsé sur le marché français non plus !)

Et les débutants gobent ça et utilisent des librairies totalement inutiles et qui n'ont aucun rapport avec le C ou C++, c'est délirant....
Messages postés
677
Date d'inscription
dimanche 30 novembre 2008
Statut
Membre
Dernière intervention
2 février 2012
51
Puisque tu m'as l'air assez exigeant sur la qualité d'une formation en programmation, pourrais tu m'indiquer un meilleur moyen de me former ?

Il me semble que le but du chapitre sur la SDL a titre d'expérience pour apprendre à utiliser une librairie.

Et que faudrait-il que j'arrête ? La SDL, le site du zéro, le C ou la programmation ?

@ Ghislain 2000 : bon, alors je vais faire comme ça.
Messages postés
138
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
22 décembre 2009
13
non il veut qu'on passe direct à faire des GTA 3D en ligne multijoueur durée de vie 200h
Messages postés
677
Date d'inscription
dimanche 30 novembre 2008
Statut
Membre
Dernière intervention
2 février 2012
51
Bah, en fait je me suis débrouillé en passant la variable *ecran en variable globale, et pour l'histoire des libérations de mémoire en fait j'appelle ma fonction plusieurs fois dans mon programme, et elle a un argument etat, selon lequel, elle attribue de la émoie, ou elle agit, ou elle libère de la mémoire (à la fin)