Hello,
Je suis en train de faire des essais de débutant en SDL, et j'aimerais faire un menu. Mais la n'est pas mon problème, sur ce menu,j'aimerais qu'au fond se ballade une petite voiture.
Si je fais dessiner à chaque itération de la boucle principale la voiture, ça laisse une trainée, alors je me suis dit je redessine le menu à chaque fois, mais la ça lag.
Boucle principale :
dessiner_menu() :
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 while (SDL_PollEvent(&evenement)) { if (evenement.type == SDL_QUIT) { quitter = true; } if (evenement.type == SDL_KEYDOWN) { gestion_clavier(); } } if (x < 1) { x = 800; } else { x--; } y = 450; dessiner_menu(); appliquer_surface(x,y,voiture, ecran); // Mise à jour de l'écran if (SDL_Flip(ecran) == -1) { return EXIT_FAILURE; }
Mais meme sans redessiner le menu, je trouve que ça va lentement pour dire qu'il n'y a pas de sleep ni rien, je sais pas si c'est normal.
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 void dessiner_menu(void) { // Création du fond fond_image = charger_image("images/fonds/herbe.bmp"); int x = 0; int y = 0; for (y=0; y<ECRAN_HAUTEUR; y=y+16) { for (x=0; x<ECRAN_LARGEUR; x=x+16) { appliquer_surface(x, y, fond_image, ecran); } } route = charger_image("images/routes/route_h.bmp"); x = 0; y = 400; for (x=0; x<ECRAN_LARGEUR; x=x+40) { appliquer_surface(x,y, route, ecran); } menu[0] = charger_image("images/menu/jouer.bmp"); x = 300; for (y=0; y<4; y++) { appliquer_surface(x, y*100, menu[y], ecran); }
Merci d'avance pour votre aide.
++
Partager