Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > API graphiques > SDL
SDL Forum d'entraide sur l'API SDL. Avant de poster -> FAQ SDL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 11/04/2012, 13h35   #1
Hedbanging
Candidat au titre de Membre du Club
 
Homme Quentin
Étudiant
Inscription : février 2012
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Quentin
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2012
Messages : 10
Points : 10
Points : 10
Par défaut Problème de mémoire dans ma fonction AfficherTexte.

Bonjour,
Je viens aujourdh'ui pour vous demander un peu d'aide, car, en changeant mon IDE et mon nom de ma classe, ma fonction s'est mise à me donner des erreurs de compilation assez gênantes... Je cherche depuis 2 heures, je sature...

Voici ma fonction :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
void DisPlay::AfficherTexte(string texte, int taillePolice, int x, int y, int r, int v, int b)
{
	SDL_Rect position;
	SDL_Surface *text;
	TTF_Font *police = NULL;
	if(r<0 || r>255)
	{
		r=0;
		cout << "Valeur entrée pour le niveau de rouge invalide et remise à zéro..." << endl;
	};
	if(v<0 || v>255)
	{
		v=0;
		cout << "Valeur entrée pour le niveau de vert invalide et remise à zéro..." << endl;
	};
	if(b<0 || b>255)
	{
		b=0;
		cout << "Valeur entrée pour le niveau de bleu invalide et remise à zéro..." << endl;
	};
	SDL_Color couleur_finale = {r, v, b};
 
        police = TTF_OpenFont("DejaVuSans.ttf", taillePolice);
	if(police != NULL)
	{
		text = TTF_RenderText_Blended(police, texte.c_str(), couleur_finale);
        	position.x = x;
        	position.y = y;
        	SDL_BlitSurface(text, NULL, screen, &position);
		SDL_UpdateRects(screen, 1, &position);
		TTF_CloseFont(police);
		SDL_FreeSurface(text);
	}
	else
	{
		cout << "Impossible de charger la police d'écriture..." << endl;
		TTF_CloseFont(police);
		SDL_FreeSurface(text);
	}
}
et l'erreur de compilation:

../DisPlay/DisPlay.cpp:225:37: attention : missing initializer for member ‘SDL_Color::unused’
../DisPlay/DisPlay.cpp: In member function ‘void DisPlay::AfficherTexte(std::string, int, int, int)’:

Merci d'avoir déjà pris le temps de lire ce message,
Hedbanging
Hedbanging est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2012, 14h26   #2
edgarjacobs
Membre éclairé
 
Homme
Développeur informatique
Inscription : mai 2011
Messages : 206
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 53
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2011
Messages : 206
Points : 326
Points : 326
Je ne connais pas le c++, néanmoins les membres SDL_Color sont des Uint8 (unsigned char).

Si ça a pu t'aider...

Edgar.
edgarjacobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2012, 14h40   #3
Hedbanging
Candidat au titre de Membre du Club
 
Homme Quentin
Étudiant
Inscription : février 2012
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Quentin
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2012
Messages : 10
Points : 10
Points : 10
Par défaut Tout problème a une solution, même si on ne la comprends pas.

Merci de ta bonne volonté mais apparement toutes mes erreurs de compilation se sont résolus, comme par magie, après que j'ai recompilé à la main les fichiers comme je le faisait avant...
Ahlàlà, les aléas de l'informatique...

PS: Je marque résolé.
Hedbanging est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2012, 13h37   #4
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 772
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 772
Points : 43 033
Points : 43 033
Bonjour,

TTF_OpenFont ne devrait pas se trouver dans une fonction d'affichage, mais dans une fonction d'initialisation (et pour fermer correctement, une fonction pour fermer la TTF).
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h31.


 
 
 
 
Partenaires

Hébergement Web