Se connecter avec
S'enregistrer | Connectez-vous

probleme en C, avec la SDL

Dernière réponse : dans Programmation

Bonjour a tous.
Je suis un programmateur débutant et la SDL me pose probleme.
Je suis en train de faire moi meme le Mario sokoban du site du 0 et j'ai un probleme.
voici mon code:
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <SDL/SDL.h>
  4.  
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8. SDL_Init(SDL_INIT_VIDEO);
  9. SDL_WM_SetCaption("Mario Sokoban", NULL);
  10.  
  11. SDL_Surface *ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
  12.  
  13.  
  14. SDL_Surface *Mario = NULL;
  15. SDL_Rect positionMario;
  16. positionMario.x = 0;
  17. positionMario.y = 0;
  18.  
  19. SDL_Event event;
  20. SDL_EnableKeyRepeat (10, 10);
  21. int continuer = 1;
  22. while(continuer)
  23. {
  24. SDL_WaitEvent(&event);
  25. switch (event.type)
  26. {
  27. case SDL_QUIT:
  28. continuer = 0;
  29. break;
  30. case SDL_KEYDOWN:
  31. switch (event.key.keysym.sym)
  32. {
  33. case SDLK_DOWN:
  34. Mario = SDL_LoadBMP("mario_bas.bmp");
  35. SDL_SetColorKey(Mario, SDL_SRCCOLORKEY, SDL_MapRGB(Mario->format, 255, 255, 255));
  36. if(positionMario.y != 449)
  37. positionMario.y++;
  38. break;
  39. case SDLK_RIGHT:
  40. Mario = SDL_LoadBMP("mario_droite");
  41. positionMario.x++;
  42. break;
  43. case SDLK_LEFT:
  44. Mario = SDL_LoadBMP("mario_gauche");
  45. if(positionMario.x != 0)
  46. positionMario.x--;
  47. break;
  48. case SDLK_UP:
  49. Mario = SDL_LoadBMP("mario_haut.bmp");
  50. SDL_SetColorKey(Mario, SDL_SRCCOLORKEY, SDL_MapRGB(Mario->format, 255, 255, 255));
  51. positionMario.y--;
  52. break;
  53. }
  54. break;
  55. }
  56. SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
  57. SDL_BlitSurface(Mario, NULL, ecran, &positionMario);
  58. SDL_Flip(ecran);
  59. }
  60. SDL_FreeSurface(Mario);
  61. SDL_Quit();
  62. return EXIT_SUCCESS;
  63. }

quand je bouge mario vers la droite ou la gauche, il disparait.
Merci de me répondre.

Autres pages sur : probleme sdl

Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte
Tom's guide dans le monde