afficher une image probleme

afficher une image probleme - C - Programmation

Marsh Posté le 18-01-2009 à 18:06:59    

Bonjour,  
je suis en train de lire le tuto sur le site du zero sur le langage c et pour bien avoir compris j'ai fais quelques manipulations . je lance la compilation sa ne me marque rien , ce qui est plutot bien , mais quand j'ouvre le fichier executable sa ne m'affiche pas l'image . voila le code c :  

Code :
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <SDL.h>
  4. #include <SDL_image.h>
  5. #include "fichier.h"
  6. #include "explication.h"
  7. #include "modesimple.h"
  8. #include "maxsolo.h"
  9. #include "harrysolo.h"
  10. #include "yannicsolo.h"
  11. #include "rogersolo.h"
  12. void maxsolo(SDL_Surface* ecran)
  13. {
  14.     SDL_Surface *ecrans=NULL, *menu = NULL;
  15.     SDL_Rect positionMenu;
  16.     SDL_Event event;
  17.     int continuer = 1;
  18.     SDL_Init(SDL_INIT_VIDEO);
  19.     ecrans = SDL_SetVideoMode(LARGEUR_FENETRE, HAUTEUR_FENETRE, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
  20.     menu = IMG_Load("principemax.jpg" );
  21.     positionMenu.x = 0;
  22.     positionMenu.y = 0;
  23.     while (continuer)
  24.     {
  25.         SDL_WaitEvent(&event);
  26.         switch(event.type)
  27.         {
  28.             case SDL_QUIT:
  29.                 continuer = 0;
  30.                 break;
  31.             case SDL_KEYDOWN:
  32.                 switch(event.key.keysym.sym)
  33.                 {
  34.                     case SDLK_ESCAPE: // Veut arrêter le jeu
  35.                         continuer = 0;
  36.                         break;
  37.    case SDLK_m: // Veut arrêter le jeu
  38.                        explication(ecran);
  39.       break;
  40.                 }
  41.                 break;
  42.         }
  43.         SDL_FillRect(ecrans, NULL, SDL_MapRGB(ecrans->format, 0, 0, 0));
  44.         SDL_BlitSurface(menu, NULL, ecrans, &positionMenu);
  45.         SDL_Flip(ecrans);
  46.     }
  47.     SDL_FreeSurface(menu);
  48.     SDL_Quit();
  49.     return EXIT_SUCCESS;
  50. }


et meme apres avoir changer le code un petit peu ( change d'image  , ect....) sa ne change rien toujours la meme erreur .
merci

Reply

Marsh Posté le 18-01-2009 à 18:06:59   

Reply

Marsh Posté le 18-01-2009 à 18:39:22    

conseil 1 : lache le site du zero ... ca ne te sera que benefique
conseil 2 : matez le manuel de IMG_Load

Reply

Marsh Posté le 19-01-2009 à 10:35:27    

je veux juste savoir si c'est un probleme dans mon code ou un autre probleme

Reply

Marsh Posté le 19-01-2009 à 11:16:12    

commence par mettre le chemin complet :
 
menu = IMG_Load("D:\\xxxx\\principemax.jpg" );
 
http://sdl.beuc.net/sdl.wiki/SDL_image


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 19-01-2009 à 11:23:33    

on mais en fait au debut sa affiche un menu et si on clique sur 1 sa affiche un autre menu et c'est celui la qui marche pas le deuximeme . il suffit de le mettre dans le meme deossier et c'est bon sa marche normalement

Reply

Marsh Posté le 19-01-2009 à 12:24:02    

j'ai un nouveau probleme maintenat quand j'apyus sur 1 est que sa ouvre le deuximeme menu sa me mais :
" teste.exe a encourut une erreur et dois fermer "  
ou sont les erreur

Reply

Marsh Posté le 19-01-2009 à 13:08:38    

max1395 a écrit :

j'ai un nouveau probleme maintenat quand j'apyus sur 1 est que sa ouvre le deuximeme menu sa me mais :
" teste.exe a encourut une erreur et dois fermer "  
ou sont les erreur


 
si tu pouvais réécrire ta phrase dans un langage compréhensible..


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 22-01-2009 à 14:04:19    

Comme a dit Joel, évite le siteduzero (étudiants amateurs qui "écrivent" des "tutos" en mélangeant tout et n'importe quoi (C, C++, SDL,  Qt, etc))
Sous Windows, ça se fait en 3 lignes avec l'api Win32 (LoadImage ou autre)
Aucun professionnel n'utilise la SDL (cf monster ou les appels d'offres sur le amrché français) et ça n'a pas de rapport avec le C.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed