Bien le bonsoir tout le monde ! Et j'espère que je poste au bon endroit...
Comme dis dans le titre, j'ai un soucis au niveau de l'image.
Alors voilà; Je ne sais pas pourquoi, mais mon image ne s'affiche pas. Le code à l'air d'être bon, j'ai pas de message d'erreurs... Ah si, juste quelque warning quand avast préfère faire une analyse de 15 secondes... Sinon, non le code fonctionne très bien.
En passant, j'ai une fenêtre de couleur blanche alors que le codes source qui m'as inspirer à la fenêtre est de couleur noir. Enfin, je pense que ça reste un détail, je ne sais pas.
J'ai configurer ma fenêtre en 640*480 et donc, je me suis créer une image de la même taille c'est-à-dire 640*480.
Du coup, passons à la pratique, je vais vous faire un copier/coller du code source. J'ai essayer de le commenter un maximum (Sauf la fin de page) et j'espère de tout coeur que vous pourrez m'aider, ça serait juste super
Je vous dis un grand merci d'avance et à bientôt
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107 /* *********************************************************************************** --- Chargement des fichiers --- *********************************************************************************** */ #include <stdio.h> #include <stdlib.h> #include <SDL2/SDL.h> #include <SDL2/SDL_image.h> #include <SDL2/SDL_ttf.h> #include <constantes.h> /* *********************************************************************************** --- Fonction principal --- *********************************************************************************** */ int main(int argc, char* argv[]) { SDL_Surface *ecran = NULL, *menu = NULL; SDL_Rect PosMenu; SDL_Event event; int fenetre = 1; //Tant que Fenêtre = 1 La Fenêtre reste ouverte int imgFlags = IMG_INIT_JPG|IMG_INIT_PNG|IMG_INIT_TIF; // Flags pour charger le support du JPG, PNG et TIF const char* EcranTitre = "pictures/ecran titre/Menu.png"; // --------------------------------------------------------------------------------------- /* *********************************************************************************** --- Demarrage des fonctions --- *********************************************************************************** */ // Demarrage de la SDL if (SDL_Init(SDL_INIT_VIDEO) == -1) { fprintf(stderr, "Erreur lors de l'initialisation de la SDL : '%s'\n"); // Nous prévenir en cas d'erreur SDL_Quit(); // Arrêt de la SDL return -1; } // Demarrage de SDL_IMG if ( IMG_Init(imgFlags) != imgFlags ) { fprintf(stderr,"Erreur lors de l'initialisation de la SDL_image : '%s'\n",IMG_GetError()); // Nous prévenir en cas d'erreur SDL_Quit(); // Arrêt de la SDL return -1; } // --------------------------------------------------------------------------------------- /* *********************************************************************************** --- Ajout d'une icon et Création de le fenêtre --- *********************************************************************************** */ // Ici on placera le code qui permettra de placer une icon à la place du .exe de base ecran = SDL_CreateWindow("Le nom du Jeux", // Afficher le nom de la fenêtre SDL_WINDOWPOS_CENTERED, // Signifie que nous centrons la fenêtre par rapport à l'axe X SDL_WINDOWPOS_CENTERED,// Signifie que nous centrons la fenêtre par rapport à l'axe Y LARGEUR_FENETRE, // Taille X - La largeur de la fennêtre (Les parametre son pré-crée dans le fichier Constantes.h) HAUTEUR_FENETRE, // Taille Y - La hauteur de la fennêtre (Les parametre son pré-crée dans le fichier Constantes.h) SDL_WINDOW_SHOWN); // (Flags) Ce paramettre est peu spécial, il faut toujours mettre SDL_WINDOW_SHOWN. //Plus tars, ce sera ici que l'on indiquera à la SDL que nous souhaiterons utiliser OpenGL // --------------------------------------------------------------------------------------- menu = IMG_Load(EcranTitre); PosMenu.x = 0; PosMenu.y = 0; if ( fenetre != NULL ) { menu = IMG_Load(EcranTitre); if ( menu == NULL ) { fprintf(stderr,"Erreur de chargement de l'image %s : %s\n",EcranTitre,IMG_GetError()); SDL_DestroyWindow(fenetre); return -3; } } while (fenetre) { SDL_WaitEvent(&event); switch(event.type) { case SDL_QUIT: fenetre = 0; break; case SDL_KEYDOWN: switch(event.key.keysym.sym) { case SDLK_ESCAPE: fenetre = 0; break; } } } return 0; }
Partager