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

[Allegro] Jak zrobić niemrugającą myszkę z wykorzystaniem bufora ekranu

Ostatnio zmodyfikowano 2008-07-28 22:59
Autor Wiadomość
Spilner
Temat założony przez niniejszego użytkownika
» 2008-07-28 16:04:20
tak ma być jeśli tak to nie działa

C/C++
#include <allegro.h>

int main()
{
    allegro_init();
    install_keyboard();
    install_timer();
    set_color_depth( 8 );
    set_gfx_mode( GFX_AUTODETECT, 800, 600, 0, 0 );
    set_palette( default_palette );
    //Podwujne buforowanie
    //reszta
    install_mouse();
    //Wstęp Gry
   
    BITMAP * bufor = NULL;
    BITMAP * klocek = NULL;
    bufor = create_bitmap( 800, 600 );
    show_mouse( bufor );
    unscare_mouse();
    if( !bufor )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Nie ma bufora" );
        allegro_exit();
        return 0;
    }
    //ładowanie klocka
    klocek = load_bmp( "klocek.bmp", default_palette );
    if( !klocek )
    {
       
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Error" );
        allegro_exit();
        return 0;
    }
   
    int klocek_x = 128, klocek_y = 30;
    while( !key[ KEY_ESC ] )
    {
        if( klocek_y == 550 ) klocek_y++;
       
        clear_to_color( bufor, makecol( 0, 0, 0 ) );
        //rest(10);
        masked_blit( klocek, bufor, 0, 0, klocek_x, klocek_y, klocek->w, klocek->h );
        blit( bufor, screen, 0, 0, 0, 0, 800, 600 );
    }
   
   
   
    remove_timer();
    destroy_bitmap( klocek );
    destroy_bitmap( bufor );
    allegro_exit();
    return( 0 );
}
END_OF_MAIN();

nadal miga a przy wyłączaniu wywala błęd
P-1072
Spilner
Temat założony przez niniejszego użytkownika
» 2008-07-28 22:45:40
i co ?
P-1078
DejaVu
Jak zrobić niemrugającą myszkę z wykorzystaniem bufora ekranu
» 2008-07-28 22:59:35
Jak zrobić niemrugającą myszkę z wykorzystaniem bufora ekranu
C/C++
#include <allegro.h>

int main()
{
    allegro_init();
    install_keyboard();
    install_timer();
    set_color_depth( 8 );
    set_gfx_mode( GFX_AUTODETECT, 800, 600, 0, 0 );
    set_palette( default_palette );
    //Podwujne buforowanie
    //reszta
    install_mouse();
    //Wstęp Gry
   
    BITMAP * bufor = NULL;
    BITMAP * klocek = NULL;
    bufor = create_bitmap( 800, 600 );
    if( !bufor )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Nie ma bufora" );
        allegro_exit();
        return 0;
    }
    //ładowanie klocka
    klocek = load_bmp( "obrazek.bmp", default_palette );
    if( !klocek )
    {
       
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Error" );
        allegro_exit();
        return 0;
    }
   
    int klocek_x = 128, klocek_y = 30;
    while( !key[ KEY_ESC ] )
    {
        if( klocek_y == 550 ) klocek_y++;
       
        clear_to_color( bufor, makecol( 0, 0, 0 ) );
        //rest(10);
        masked_blit( klocek, bufor, 0, 0, klocek_x, klocek_y, klocek->w, klocek->h );
       
        show_mouse( bufor );
        blit( bufor, screen, 0, 0, 0, 0, 800, 600 );
    }
    show_mouse( NULL );
    destroy_bitmap( klocek );
    destroy_bitmap( bufor );
    remove_timer();
    allegro_exit();
    return( 0 );
}
END_OF_MAIN();
P-1079
1 « 2 »
Poprzednia strona Strona 2 z 2