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

[SDL, C++] Problem z wyświetlaniem grafiki

Ostatnio zmodyfikowano 2011-11-18 23:51
Autor Wiadomość
kemsai
Temat założony przez niniejszego użytkownika
[SDL, C++] Problem z wyświetlaniem grafiki
» 2011-11-18 17:09:45
Mam taki problem gdy chce wpisać grafiki w pewnej funkcji to potem nie chcą sie wyświetlać:
C/C++
void Gra::ladowanieGrafik()
{
    elementyTla = SDL_LoadBMP( "data/100.bmp" );
   
    //uint32_t color = SDL_MapRGB(elementyTla->format, 255, 0, 255);
    //SDL_SetColorKey(elementyTla, SDL_SRCCOLORKEY, color);
   
    int currentSprite = 0;
    int line = 0;
    int grafika = 0;
   
    polozenieTla[ 0 ].x = 0;
    polozenieTla[ 0 ].y = 0;
    polozenieTla[ 0 ].w = 100;
    polozenieTla[ 0 ].h = 100;
   
}

void Gra::odwierzEkran()
{
    rysujPodloze( 0 );
    SDL_Flip( okno );
}

void Gra::rysujPodloze( int numer )
{
    punkt.x = 0;
    punkt.y = 0;
    punkt.w = 100;
    punkt.h = 100;
   
    for( int i = 0; i < 9; i++ )
    {
        for( int j = 0; j < 7; j++ )
        {
            punkt.x = 100 * i;
            punkt.y = 100 * j;
           
            SDL_BlitSurface( elementyTla, & polozenieTla[ numer ], okno, & punkt );
        }
    }
}


Natomiast jak dam tak to działanormalnie i wyświetla:
C/C++
void Gra::ladowanieGrafik()
{
    elementyTla = SDL_LoadBMP( "data/100.bmp" );
   
    //uint32_t color = SDL_MapRGB(elementyTla->format, 255, 0, 255);
    //SDL_SetColorKey(elementyTla, SDL_SRCCOLORKEY, color);
   
    int currentSprite = 0;
    int line = 0;
    int grafika = 0;
   
}

void Gra::odwierzEkran()
{
    rysujPodloze( 0 );
    SDL_Flip( okno );
}

void Gra::rysujPodloze( int numer )
{
    punkt.x = 0;
    punkt.y = 0;
    punkt.w = 100;
    punkt.h = 100;
   
    for( int i = 0; i < 9; i++ )
    {
        for( int j = 0; j < 7; j++ )
        {
            punkt.x = 100 * i;
            punkt.y = 100 * j;
           
            polozenieTla[ 0 ].x = 0;
            polozenieTla[ 0 ].y = 0;
            polozenieTla[ 0 ].w = 100;
            polozenieTla[ 0 ].h = 100;
           
            SDL_BlitSurface( elementyTla, & polozenieTla[ numer ], okno, & punkt );
        }
    }
}
P-44284
kamillo121
» 2011-11-18 22:11:52
Twoje pytanie jest dziwnie skonstruowane. Jeżeli chcesz mądrej odpowiedzi do zadawaj mądre pytania.
Przyczyn jak dla mnie może być klika, brak wywołania metody odpowiadającej za ładowanie grafiki, błędny id tego położenia tła(gdzie wziąłbym pod uwagę też to, że "zerujesz" tylko położenie o id=0 a resztę pozostawiasz na chybił trafił ?) itd.
P-44308
kemsai
Temat założony przez niniejszego użytkownika
» 2011-11-18 23:51:03
Gdyby wczytywaniegrafik nie było podane to ogólnie obrazek by sie nie wyświetlał... więc to raczej nie to... Prubowałem wielu kombinacji ale nie moge dojść WTF....
P-44314
« 1 »
  Strona 1 z 1