Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

wczytywanie obrazu allegro

Ostatnio zmodyfikowano 2012-06-04 20:52
Autor Wiadomość
kloperman
Temat założony przez niniejszego użytkownika
wczytywanie obrazu allegro
» 2012-06-03 22:15:25
napisałem kod :

C/C++
#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

P-57778
SeaMonster131
» 2012-06-03 22:28:50
» Kurs Allegro 4.x, C++Pliki graficzne lekcja

Błąd masz tutaj:
C/C++
BITMAP * apple;
load_bmp( "apple.bmp", default_palette );
a jest to powiązane z tym:
C/C++
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" :)
P-57780
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 .
P-57785
m4tx
» 2012-06-04 15:24:32
Nie przypisujesz wyniku funkcji wczytującej obrazek do zmiennej
apple
.
P-57787
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++.
P-57807
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))


C/C++
#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();
P-57830
« 1 »
  Strona 1 z 1