Bonjour à vous,
J'apprends en ce moment même à utiliser SDL2 (la première que j'apprends), et j'essaie de faire un échiquier. Je ne veux pas qu'on me dise un algorithme pour le faire, je veux le trouver tout seul pour m’entraîner. Par contre, j'ai un problème :
Voila mon main, les fonctions initSDL() et destroySDL sont créées par moi-même, la première initialise, et créer une fenêtre et un renderer, et l'autre permet la désallocation. Mon problème est que je tente de faire un seul carré noir sur fond blanc, en haut à gauche de la fenêtre (taille 800 par 800), mais rect.w = 100 et rect.h = 100 ne sont pas identiques ! la largeur du carré est bien a 100px, mais la hauteur (rect.h) ne l'est pas, il faut que je le mette à 200 pour que ce soit un carré. Donc j'aimerais savoir si c'est normal ou non.
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 int main() { initSDL(); int xRect = 0, yRect = 0; SDL_Color white = {255, 255, 255, 255}; SDL_Color black = {0, 0, 0, 255}; SDL_Rect rect; rect.x = 0; rect.y = 0; rect.w = 100; rect.h = 0; SDL_SetRenderDrawColor(app.renderer, white.r, white.g, white.b, white.a); SDL_RenderClear(app.renderer); SDL_SetRenderDrawColor(app.renderer, black.r, black.g, black.b, black.a); rect.h = 200; printf("rect.h : %d\n", rect.h); SDL_RenderFillRect(app.renderer, &rect); SDL_RenderPresent(app.renderer); SDL_Delay(3000); destroySDL(); return EXIT_SUCCESS; }
Partager