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

Kompilacja kodu z lekcji 10. Animacja Allegro

Ostatnio zmodyfikowano 2017-02-20 12:09
Autor Wiadomość
tomek66m
Temat założony przez niniejszego użytkownika
Kompilacja kodu z lekcji 10. Animacja Allegro
» 2017-02-19 20:22:30
Witam, po przepisaniu a następnie skopiowaniu całego kodu do CodeBlocksa po skompilowaniu wyskakuje błąd: "Program przestał działać". Ktoś miał podobny problem?
Tu cały kod:
C/C++
#include <allegro.h>
volatile long speed = 0;
void increment_speed()
{
    speed++;
}
END_OF_FUNCTION( increment_speed );
LOCK_VARIABLE( speed );
LOCK_FUNCTION( increment_speed );
int main()
{
    allegro_init();
    install_keyboard();
    set_color_depth( 32 );
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0 );
    install_timer();
    install_int_ex( increment_speed, BPS_TO_TIMER( 80 ) );
    BITMAP * bufor = NULL;
    BITMAP * ludek0 = NULL;
    BITMAP * ludek1 = NULL;
    BITMAP * ludek2 = NULL;
    BITMAP * ludek3 = NULL;
    bufor = create_bitmap( 640, 480 );
    if( !bufor )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Nie mogę utworzyć bufora !" );
        allegro_exit();
        return 0;
    }
   
    ludek0 = load_bmp( "bobek00.bmp", default_palette );
    ludek1 = load_bmp( "bobek01.bmp", default_palette );
    ludek2 = load_bmp( "bobek02.bmp", default_palette );
    ludek3 = load_bmp( "bobek03.bmp", default_palette );
    int ludek_x = 100, ludek_y = 100;
    int frame = 0;
   
    while( !key[ KEY_ESC ] )
    {
        while( speed > 0 )
        {
           
            if( key[ KEY_LEFT ] ) ludek_x--;
           
            if( key[ KEY_RIGHT ] ) ludek_x++;
           
            if( key[ KEY_UP ] ) ludek_y--;
           
            if( key[ KEY_DOWN ] ) ludek_y++;
           
            speed--;
           
            frame++;
            if( frame > 80 ) frame = 0;
           
        }
        clear_to_color( bufor, makecol( 150, 150, 150 ) );
       
        if( frame < 20 ) { draw_sprite( bufor, ludek0, ludek_x, ludek_y ); }
        else if( frame >= 20 && frame < 40 ) { draw_sprite( bufor, ludek1, ludek_x, ludek_y ); }
        else if( frame >= 40 && frame < 60 ) { draw_sprite( bufor, ludek2, ludek_x, ludek_y ); }
        else if( frame >= 60 && frame < 80 ) { draw_sprite( bufor, ludek3, ludek_x, ludek_y ); }
       
        blit( bufor, screen, 0, 0, 0, 0, 640, 480 );
    }
    remove_int( increment_speed );
    destroy_bitmap( ludek0 );
    destroy_bitmap( ludek1 );
    destroy_bitmap( ludek2 );
    destroy_bitmap( ludek3 );
    destroy_bitmap( bufor );
    allegro_exit();
    return 0;
}
END_OF_MAIN();
P-158021
Gabes
» 2017-02-19 22:13:26
A masz te bobki obok *.exe.
Tak w ogóle to porzuć allegro4:(
P-158026
tomek66m
Temat założony przez niniejszego użytkownika
Re:
» 2017-02-19 23:25:19
Biblioteki siedzą w folderze obok exe, a dopiero zaczynam programować, więc biorę coś prostego na początek :P
P-158029
Gabes
» 2017-02-19 23:26:25
"bobek00.bmp"
P-158030
tomek66m
Temat założony przez niniejszego użytkownika
Re
» 2017-02-20 12:09:43
Przekopiowałem do folderu z exe, ale dalej nic

//EDIT

Zamykam, przerzucę się na inną bibliotekę
P-158037
« 1 »
  Strona 1 z 1