Petit Bugg

cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008 - 8 nov. 2003 à 22:17
cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008 - 9 nov. 2003 à 10:30
Tout d'abord voici mon code :

#include

int main()
{

install_allegro(SYSTEM_AUTODETECT, &errno, atexit);

set_color_depth(16);

set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);

install_keyboard();

BITMAP *buffer;

BITMAP *image;

PALETTE palette;

buffer=create_bitmap(640,480);

image=load_bitmap("image2.bmp",palette); // image2.bmp est présent, fait 100*100 et est en 16 bits

blit(image,buffer,0,0,0,0,image->w,image->h);
blit(buffer,screen,0,0,0,0,640,480);

while( ! key[KEY_ESC] ) // pour voir safficher le résultat

allegro_exit();

return 0;
}

END_OF_MAIN();

le seul probleme est que quand je lance le programme il se referme aussitot alor qu'il n'y a pas de probleme dans le compilateur :-/

Et la ligne qui fait tout foiré est celle ci :
blit(image,buffer,0,0,0,0,image->w,image->h);
et je ne comprend pas pourquoi :question) car quand je vire cette ligne le programme se déroule normalement.

Si vs voyer d'ou cela peut venir répondez :D

Merci

3 réponses

MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
9 nov. 2003 à 09:51
Essais comme ca :
remplace
BITMAP *image;
par

BITMAP image;

et donc

blit(image,buffer,0,0,0,0,image->w,image->h);
par
blit(&image,buffer,0,0,0,0,image.w,image.h);

j'en suis pas sur du tout mais bon au moins t'aura essayé ^^
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
9 nov. 2003 à 10:10
Si ca ne marche toujours pas jet'invite à faire de meme avec buffer .... croise les doigts ^^
0
cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008
9 nov. 2003 à 10:30
En faisant le premiere changement que tu ma conseiller voici le message d'erreur de compilation que j'obtient :

c:\documents and settings\totol\bureau\main 1.cpp: In function `int _mangled_main()':
c:\documents and settings\totol\bureau\main 1.cpp:22: no match for `BITMAP & = BITMAP *'
C:\DEV-C_~1\Include\allegro\gfx.h:234: candidates are: struct BITMAP & BITMAP::operator =(const BITMAP &)
c:\documents and settings\totol\bureau\main 1.cpp:24: cannot convert `image' from type `BITMAP' to type `BITMAP *'

et avec la deuxieme transformation voici ce que j'obtient

c:\documents and settings\totol\bureau\main 1.cpp: In function `int _mangled_main()':
c:\documents and settings\totol\bureau\main 1.cpp:20: no match for `BITMAP & = BITMAP *'
C:\DEV-C_~1\Include\allegro\gfx.h:234: candidates are: struct BITMAP & BITMAP::operator =(const BITMAP &)
c:\documents and settings\totol\bureau\main 1.cpp:22: no match for `BITMAP & = BITMAP *'
C:\DEV-C_~1\Include\allegro\gfx.h:234: candidates are: struct BITMAP & BITMAP::operator =(const BITMAP &)
c:\documents and settings\totol\bureau\main 1.cpp:24: cannot convert `image' from type `BITMAP' to type `BITMAP *'
c:\documents and settings\totol\bureau\main 1.cpp:25: cannot convert `buffer' from type `BITMAP' to type `BITMAP *'

Ce que je ne comprend pas c'est que sur tout les code que j'ai vu il ont exactement le mm code et sa marche :-/

Si vs avez une autre solution ........

Merci
0
Rejoignez-nous