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

Gra 2D, programowy bufor planszy , nie działa SDL_BlitSurface

Ostatnio zmodyfikowano 2012-06-18 13:43
Autor Wiadomość
rachel92
Temat założony przez niniejszego użytkownika
Gra 2D, programowy bufor planszy , nie działa SDL_BlitSurface
» 2012-06-18 13:22:16
Dlaczego taki program mi nie działa ? nie wyświetla obrazka.

#include <SDL.h>

int main( int argc, char * args[] )
{
    SDL_Surface * ekran = NULL;
    SDL_Surface * obraz = NULL;
    SDL_Surface * plotno = NULL;

    SDL_Init( SDL_INIT_EVERYTHING );
    ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );

    plotno = SDL_LoadBMP( "cb.bmp" );
    SDL_BlitSurface(plotno,NULL,obraz,NULL);
    SDL_BlitSurface( obraz, NULL, ekran, NULL );

    SDL_Flip( ekran );
    SDL_Delay( 2000 );
    SDL_Quit();
    SDL_FreeSurface(plotno);
    SDL_FreeSurface( obraz );
    return 0;
}

Logicznie rzecz biorąc skoro SDL_BlitSurface kopiuje mi dwie powierzchnie, to dlaczego nie kopiuje mi z:
plotno -> obraz
obraz -> ekran

Jest mi to potrzebne do bufora w grze, wtedy w plotnie bym rysowal plansze, a pozniej kopiowal ja do "obraz", oczywiscie na powierzchni "obraz" byly by tez rysowane inne obiekty sprite itd.

To by było o tyle dobre, że w głównej pętli programu bym nie rysował tylko kopiował obraz -> ekran.

Taki bufor programowy. Pokazałem tylko program przedstawiający problem.

Proszę o fachową pomoc.
P-58617
kamillo121
» 2012-06-18 13:34:32

Logicznie rzecz biorąc skoro SDL_BlitSurface kopiuje mi dwie powierzchnie, to dlaczego nie kopiuje mi z:
plotno -> obraz
obraz -> ekran

Logicznie rzecz biorąc to obraz nie jest powierzchnią, jest to sam wskaźnik który wskazuje NULL.
P-58618
rachel92
Temat założony przez niniejszego użytkownika
» 2012-06-18 13:43:43
Dzięki, wystarczyło SDL_CreateRGBSurface :)
P-58620
« 1 »
  Strona 1 z 1