Bonjour, j'ai trouvé la solution à mon problème mais je ne comprends toujours pas pourquoi il se produit, je m'explique.
J'ai une surface de 1000x234 à partir de laquelle je fais un createtexturefromsurface, ensuite je crée 2 rectangles les deux de la taille de la texture et à partir de ces deux rectangles je fais un rendercopy(renderer, tx, rect_fen, rect_tx).
Ma texture apparait donc comme il faut sauf que quand je fais défiler en x, c'est à dire en augmentant le premier paramètre du rect de 1000x234 j'obtiens des carreaux de plus en plus gros. J'ai éssayé d'agrandir la surface de 200 en xy et ça marche, ça marche également quand je met le rect_fen à la même taille que rect_tx mais du coup ça n'actualise plus qu'une partie de la fenêtre.
Pour vous décrire le visuel, on dirait qu'il a essayé de quicher la texture dans un espace toujours plus petit plus je vais à droite.
S'il quelqu'un voit de quoi il s'agit et pouvait m'aider j'en serais reconnaissant
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SDL_Surface* sf_target = SDL_CreateRGBSurface(0,1000, 234,32,0,0,0,0);
Code : Sélectionner tout - Visualiser dans une fenêtre à part SDL_Texture* tx = SDL_CreateTextureFromSurface(renderer,sf_target);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SDL_Rect tx_rect = {x*LTILE,y*HTILE, 1000-x*LTILE,234-y*HTILE}; SDL_Rect fen_rect = {0,0,1000 ,234}; SDL_RenderCopy(renderer, tx, &fen_rect, &tx_rect);
Partager