Allegro, Charger bmp, blit et autres réjouissances

Allegro, Charger bmp, blit et autres réjouissances - C - Programmation

Marsh Posté le 01-02-2009 à 19:13:03    

bonjour, je commence à tater du allegro, et je souhaiterais avoir un peu d'aide de ceux qui connaissent cette librairie.  
Je voudrais déjà réussir à afficher mon fond, ce serasi génial. Quand je lance l'application pour l'instant, j'ai juste le droit à un message d'erreur windows. (ce programme doit fermer, blablabla). Je voudrais déjà réussir à charger un .bmp correctement en mémoire, je verrais plus tard pour le blit :)
 
voici  mon code :
 

Code :
  1. #include <allegro.h>
  2. // la macro pour le contrôle d'erreur
  3. #define ERREUR(msg){\
  4.    set_gfx_mode(GFX_TEXT,0,0,0,0);\
  5.    allegro_message("err %s\nligne %d\nfile %s\n",msg,__LINE__,__FILE__);\
  6.    allegro_exit();\
  7.    return 1;\
  8. }
  9. int main()
  10. {
  11. int c, x=0, y=0;
  12.     BITMAP *player;
  13.     PALETTE palette;
  14.     player=load_bitmap("fond.bmp", palette);
  15.     // initialisation allegro obligatoire
  16.     allegro_init();
  17.     install_mouse();
  18.     show_mouse(screen);
  19.     // pour disposer du clavier
  20.     install_keyboard();
  21.     // définir un mode graphique
  22.     if (set_gfx_mode(GFX_AUTODETECT_WINDOWED,800,600,0,0)!=0)
  23.         // contrôler si le mode graphique fonctionne
  24.         ERREUR(allegro_error);
  25.     /* attend une touche pour quitter*/
  26.     readkey();
  27.     return 0;
  28. }
  29. END_OF_MAIN();


Message édité par Toon58 le 01-02-2009 à 19:14:36
Reply

Marsh Posté le 01-02-2009 à 19:13:03   

Reply

Marsh Posté le 01-02-2009 à 19:59:00    

l'appel à allegro_init() doit être fait avant toute utilisation des fonctions allegro, dont load_bitmap(), ce que tu ne fais pas ici.
de plus, ça serait bien d'initialiser le pointeur "player" à NULL avant de l'utiliser


Message édité par Harkonnen le 01-02-2009 à 20:00:29

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 01-02-2009 à 20:48:35    

Merci, je change tout ça.  
en me documentant, j'ai réussi à charger mon .bmp
par contre, je rancontre un problème en le blittant, mes couleurs sont inversée :
 

Code :
  1. set_color_depth(24);        //Profondeur couleur
  2.     fond=load_bitmap("fond.bmp", NULL);
  3.     /**/
  4.     blit(fond, screen, 0,0,0,0,800,600);


Message édité par Toon58 le 01-02-2009 à 21:11:11
Reply

Marsh Posté le 04-02-2009 à 08:44:31    

Résolu.
Blit après set_depth

Reply

Sujets relatifs:

Leave a Replay

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