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

Problem z wyświetleniem obiektu

Ostatnio zmodyfikowano 2012-04-07 14:49
Autor Wiadomość
Glowacki
Temat założony przez niniejszego użytkownika
Problem z wyświetleniem obiektu
» 2012-04-05 20:57:56
Siemka, robię pierwszą "grę" w allegro i mam pewien problem.
Obiekt o nazwie kulka nie chce się wyświetlić. Wszystko się ładuje normalnie, nie wywala błędu, ale po prostu nie widać kulki. Gdzie robię błąd?
C/C++
#include <allegro.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
    allegro_init();
    install_keyboard();
    set_color_depth( 32 );
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 1024, 768, 0, 0 );
    clear_to_color( screen, makecol( 128, 128, 128 ) );
   
    BITMAP * kwadrat = NULL;
    BITMAP * kulka = NULL;
    BITMAP * bufor = NULL;
   
    //bufor   
    bufor = create_bitmap( 1024, 768 );
    if( !bufor )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Bufor nie moze byc utworzony!" );
        allegro_exit();
        return 0;
    }
    //bufor koniec         
   
   
    //kwadrat   
    kwadrat = load_bmp( "kwadrat.bmp", default_palette );
    if( !kwadrat )
    {
       
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Kwadrat nie moze byc zaladowany!" );
        allegro_exit();
        return 0;
    }
   
    int kwadrat_x = 1, kwadrat_y = 1;
    blit( kwadrat, screen, 0, 0, 50, 50, kwadrat->w, kwadrat->h );
    //kwadrat koniec
   
   
    //kulka
    kulka = load_bmp( "kulka.bmp", default_palette );
    if( !kulka )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Kulka nie moze byc zaladowana!" );
        allegro_exit();
        return 0;
    }
    int kulka_x = 100, kulka_y = 100;
    blit( kulka, screen, 0, 0, 25, 25, kulka->w, kulka->h );
    //kulka koniec          
   
    while( !key[ KEY_ESC ] )
    {
        if( key[ KEY_A ] ) kwadrat_x--;
       
        if( key[ KEY_D ] ) kwadrat_x++;
       
        if( key[ KEY_W ] ) kwadrat_y--;
       
        if( key[ KEY_S ] ) kwadrat_y++;
       
        clear_to_color( bufor, makecol( 150, 150, 150 ) );
        rest( 1 );
        masked_blit( kwadrat, bufor, 0, 0, kwadrat_x, kwadrat_y, kwadrat->w, kwadrat->h );
        blit( bufor, screen, 0, 0, 0, 0, 1024, 768 );
    }
   
   
   
   
   
    readkey();
    destroy_bitmap( kwadrat );
    destroy_bitmap( bufor );
    destroy_bitmap( kulka );
    allegro_exit();
    return 0;
}
END_OF_MAIN();
P-53913
SeaMonster131
» 2012-04-05 21:28:19
W pętli czyścisz ekran, a kulke wyświetlasz przed pętla. Daj te wyświetlanie w pętli :)
P-53921
RazzorFlame
» 2012-04-06 17:25:13
Wyswietlasz kulke tylko raz po czym czyscisz ekran i jej nie wyswietlasz.
P-53972
Glowacki
Temat założony przez niniejszego użytkownika
» 2012-04-07 14:49:50
Dobra, udało się :D . Dzięki za pomoc.
Zamykam.
P-54027
« 1 »
  Strona 1 z 1