kloperman Temat założony przez niniejszego użytkownika |
wczytywanie obrazu allegro » 2012-06-03 22:15:25 napisałem kod : #include <allegro.h>
int main() { install_keyboard(); set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 ); clear_to_color( screen, makecol( 0, 255, 0 ) ); BITMAP * apple; load_bmp( "apple.bmp", default_palette ); if( !apple ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "obraz nie zostal zaladowany" ); allegro_exit(); return 0; } blit( apple, screen, 0, 0, 100, 100, apple->w, apple->h ); allegro_exit(); return 0; } END_OF_MAIN();
gdy go uruchamiam wyskakuje program projekt.exe przestał dzialac trwa wyszukiwanie rozwiazanie problemu przez sys windows nastepnie sie wyłacza |
|
SeaMonster131 |
» 2012-06-03 22:28:50 Pliki graficzneBłąd masz tutaj: BITMAP * apple; load_bmp( "apple.bmp", default_palette );
a jest to powiązane z tym: blit( apple, screen, 0, 0, 100, 100, apple->w, apple->h );
ponieważ "apple" to jakieś śmieci z pamięci, przypisz wczytanie bitmapy do tego "apple" :) |
|
kloperman Temat założony przez niniejszego użytkownika |
» 2012-06-04 14:34:18 Czyli co mam dokładnie zrobić . Jestem poczatkujacy w allegro i zbyt dużo mi to nie mowi . |
|
m4tx |
» 2012-06-04 15:24:32 Nie przypisujesz wyniku funkcji wczytującej obrazek do zmiennej apple . |
|
SeaMonster131 |
» 2012-06-04 17:23:41 Czyli co mam dokładnie zrobić . Jestem poczatkujacy w allegro i zbyt dużo mi to nie mowi . |
Podałem Ci link do lekcji w której jest to wyjaśnione więc bądź łaskaw tam zajrzeć. Po drugie to nie wynika z nieznajomości Allegro, tylko z nieznajomości C++. |
|
kloperman Temat założony przez niniejszego użytkownika |
» 2012-06-04 20:52:53 dzieki za pomoc odkryłem w czym mam blad . Tamten obrazek byl czarno-biały i po poprawce załaczył sie bez problemu jednak w tym kodzie probuje podlaczyc obrazek kolorowy i wyskakuje mi blad (dodany w kodzie po if(!ludek)) #include <allegro.h>
volatile long speed = 0;
int main() { allegro_init(); install_keyboard(); set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 1000, 700, 0, 0 ); clear_to_color( screen, makecol( 255, 255, 255 ) ); BITMAP * bufor = NULL; BITMAP * ludek = NULL; bufor = create_bitmap( 1000, 700 ); if( !bufor ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "nie mozna utworzyc bufora" ); allegro_exit(); return 0; } ludek = load_bmp( "apple.bmp ", default_palette ); if( !ludek ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "nie mozna otworzyc obrazu ludek !" ); allegro_exit(); return 0; } int ludek_x = 100, ludek_y = 100; while( !key[ KEY_ESC ] ) { if( key[ KEY_RIGHT ] ) ludek_x++; if( key[ KEY_LEFT ] ) ludek_x--; if( key[ KEY_UP ] ) ludek_y--; if( key[ KEY_DOWN ] ) ludek_y++; clear_to_color( bufor, makecol( 255, 255, 255 ) ); masked_blit( ludek, bufor, 0, 0, ludek_x, ludek_y, ludek->w, ludek->h ); blit( bufor, screen, 0, 0, 0, 0, 1000, 700 ); } readkey(); allegro_exit(); return 0; } END_OF_MAIN();
|
|
« 1 » |