Bonjour qu'arrive t'il à ma variable déclarée dans ma fonction lorsque je fait ceci S = ChargerImages(); ? Cette fonction retourne un pointeur qui défini ma nouvelle variable S mais du coup, es que j'ai bien 2 variables qui pointent sur une seule texture en mémoire ? Es que j'ai tord de libérer qu'une seule texture à la fin de mon programme ? (le principe est plus ou moins le même avec Glut sauf que j'utilise GlDeleteTexture(1,...) ).
fonction 1:
fonction 2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sprites* ChargerImages() { Sprites* S; int i; S = malloc(NbSprites*sizeof(Sprites)); S[0].sprite = IMG_Load("images/sky.png"); .. return S; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void LibererMap(Map* m, Sprites* S) { SDL_FreeSurface(S[0].sprite); .. free(S); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void game() { Sprites* S; S = ChargerImages(); LibererMap(m,S); }
Partager