Bonjours, la compilation ce passe bien mai a l'execution j'obtien SDL_RenderCopy : -1 : Invalid renderer .
lJe vai faire aux plus court s'il faut je peux mettre le code complet
iclasse button
constructeur
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 Button::Button(SDL_Renderer* _pRenderer, std::string &_path_picture, std::string &_pathimage_down, std::string &_pathimage_select , int _posup, int _posleft, int _lenup, int _lenwid) { pRenderer = _pRenderer ; pathpicture = _path_picture ; pathimage_down = _pathimage_down ; pathimage_select = _pathimage_select ; posup = _posup ; posleft = _posleft ; lenup = _lenup ; lenwid = _lenwid ; if (Button::loadpicture(pathpicture,0)== false){std::cout << "Erreur image 0"<< std::endl;}; Button::loadpicture(pathimage_down,1); Button::loadpicture(pathimage_select,2); }la console me donne ceci .
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 bool Button::loadpicture(std::string pathpicture,int id) { pSurface[id] = SDL_LoadBMP(pathpicture.c_str()); if (pSurface[id]) { std::cout << "DEBUG POINTEUR: " << pRenderer << std::endl; pTexture[id] = SDL_CreateTextureFromSurface(pRenderer,pSurface[id]); if ( pTexture ) { return true; } else { std::cout <<"Erreur dans la fonction SetPicture" << "pointeur pTexture : " << pTexture[id] << " : " << pathpicture << std::endl; return false; } } else { std::cout <<"Erreur dans la fonction SetPicture" << "pointeur pSurface : " << pSurface[id] << " : " << pathpicture << std::endl; return false; } }
le pointeur est bien celui de la fenêtre fourni par SDL_CreateRenderer(pWindow, -1, SDL_RENDERER_ACCELERATED);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DEBUG POINTEUR: 0x1d2288 ID: 0 SDL_RenderCopy : -1 : Invalid renderer
curieusement sa marche pour l'image de fond, mai c est dans la classe windows et pas le meme code,
je me demande si le passage aux niveau du constructeur ne pose pas problème. le pointeur n'est pas null et correspond a celui qui ce trouve dans la classe windows ?
donc je pige pas ou est l'erreur.
au besoins je peux mettre les sources quelque part , mai ou ? car tout colle ici c'est pas pratique mai pas de souci si c est demander
Merci d'avance
Partager