Bonjour,
J'ai un problème dans une fonction. A chaque fois que je ferme le programme, j'ai une erreur Windows a générer des erreurs....
C'est du à cette ligne dans le code
surfaceBouton = load_image(temp);
Le but de cette fonction est de délimier les sprites sur une image entière.
A chaque fois que l'on rencontre un sprite "Rouge", alors celà signifie que c'est la fin du sprite (idem pour la position verticale).
J'ai déclaré toutes mes surfaces dans un fichier.h qui contient uniquement les variables globales.
Ensuite dans un autre fichier cpp. Je rappele cette variable avec un extern sinon le compilateur me sort multiple déclaration of this variable..
Code : Sélectionner tout - Visualiser dans une fenêtre à part SDL_Surface * surfaceBouton;
extern SDL_Surface * surfaceBouton;
voici le code de la fonction :
Sûrement du au même pb, si je décommente cette ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 bool Charger_Bouton() { // 1 - On charge l'image dans la mémoire char temp[100]; GetPrivateProfileString("BOUTON","Fichier","",temp,100,".\\Data.ini" ); surfaceBouton = load_image(temp); if(surfaceBouton == NULL) return false; // 2 - On écrit les coordonnées des différents des bouton dans des SDL_Rect int y,tx,ty; y = 0; for(int i = 0 ; i < NB_STYLE_BOUTON +1 ; i++) { //Réinitialisation des valeurs tx = 1; ty = 1; //Coordonnées du début du sprite clipBouton[ i ].x = 0; clipBouton[ i ].y = y; //On recherche le pixel délimiteur afin de déterminer la taille du sprite while(!GetPixelColor(surfaceBouton, tx, y) && tx < surfaceBouton->w) tx++; while(!GetPixelColor(surfaceBouton, tx, ty + y) && (ty + y )< surfaceBouton->h) ty++; //Taille du sprite //clipBouton[ i ].w = tx; clipBouton[ i ].h = ty; y = y + ty + 1 ; //On se positionne sur le pixel suivant le pixel délimiteur } return true; }
le prog se ferme tout seul.
Code : Sélectionner tout - Visualiser dans une fenêtre à part //clipBouton[ i ].w = tx;
Je vous remercie d'avance pour votre aide.
Peruvio
Partager