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

[Allegro] Nie wyświetla się obrazek.

Ostatnio zmodyfikowano 2008-07-20 16:37
Autor Wiadomość
DeBugger
Temat założony przez niniejszego użytkownika
[Allegro] Nie wyświetla się obrazek.
» 2008-07-19 17:41:18
Mam otuż taki problem.
C/C++
#include <allegro.h>
int main()
{
    allegro_init();
    install_keyboard();
    set_color_depth( 32 );
    set_palette( default_palette );
    set_gfx_mode( GFX_AUTODETECT, 800, 600, 0, 0 );
    clear_to_color( screen, 100 );
    BITMAP * bufor = NULL;
    BITMAP * Ufo = NULL;
    bufor = create_bitmap( 800, 600 );
    Ufo = load_bmp( "Ufo.BMP", default_palette );
    if( !Ufo )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Obrazek nie zostal poprawnie naladowany!" );
        allegro_exit();
        return 0;
    }
   
   
   
    int Ufo_x = 100, Ufo_y = 100;
    while( !key[ KEY_ESC ] );
   
    {
        if( key[ KEY_LEFT ] ) Ufo_x--;
       
        if( key[ KEY_RIGHT ] ) Ufo_x++;
       
        if( key[ KEY_UP ] ) Ufo_y++;
       
        if( key[ KEY_DOWN ] ) Ufo_y--;
       
        masked_blit( Ufo, bufor, 0, 0, Ufo_x, Ufo_y, Ufo->w, Ufo->h );
        blit( bufor, screen, 0, 0, 0, 0, 800, 600 );
    }
   
    destroy_bitmap( bufor );
    destroy_bitmap( Ufo );
    allegro_exit();
    return( 0 );
}
END_OF_MAIN()
Kod działa, ale obrazek nie może się załadować. Specjalnie taki kod napisałem tu:
C/C++
if( !Ufo )
{
    set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
    allegro_message( "Obrazek nie zostal poprawnie naladowany!" );
    allegro_exit();
    return 0;
}
Aby jeśli program nie odczytywał pliku, żeby o tym powiadomił. I nie odczytał :(.
Pracuję na Linux Ubuntu Hardy Heron (8.04).
Czy to błąd kodu (a tak nie myślę, bo kompiluje się poprawnie), czy może błąd czegoś innego.
Aha, dodatkowe informacje. Format pliku: sh; Kompilator: g++; Środowisko graficzne: KDE.
P-1001
DejaVu
» 2008-07-19 19:07:52
Linux rozpoznaje duże i małe znaki w nazwie plików.
P-1003
DeBugger
Temat założony przez niniejszego użytkownika
:(
» 2008-07-19 21:58:35
Niestety, nic to nie dało. Kilkakrotnie grzebałem z nazwami plików. :(
P-1004
DejaVu
» 2008-07-20 10:11:10
C/C++
while( !key[ KEY_ESC ] );

W powyższej linijce nie powinno być średnika na końcu.
P-1005
DeBugger
Temat założony przez niniejszego użytkownika
Nie działa. :(
» 2008-07-20 14:14:08
Nie działa dalej. Chętnie bym spróbował biblioteki graphics.h (czy jakoś tak :P). Czy w tej bibliotece można też umieszczać bitmapy?
Aha. Jeśli miałby ktoś jakiś kurs do tej biblioteki to proszę.
P-1006
DejaVu
» 2008-07-20 16:37:49
Musi działać, bo ja robiłem kopiuj/wklej i wywaliłem tylko średnik.
P-1007
« 1 »
  Strona 1 z 1