Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: SDL: Bittikartan piirto

Codeprofile [29.06.2007 18:15:23]

#

Mikä seuraavassa koodissa mättää:

#include <SDL/SDL.h>

int main(int argc, char *argv[]) {
    if( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
        fprintf(stderr, "SDL:n alustus ei onnistunut: %s\n", SDL_GetError());
        return 0;
        }

    SDL_Surface *naytto;
    naytto = SDL_SetVideoMode(1024, 768, 32, SDL_HWSURFACE|SDL_FULLSCREEN|SDL_DOUBLEBUF);

    SDL_Surface *kuva;
    kuva = SDL_LoadBMP("testi.bmp");

    void PiirraKuva(SDL_Surface *kuva, SDL_Surface *naytto, int x, int y) {
                     SDL_Rect alue;
                     alue.x = x;
                     alue.y = y;
                     SDL_BlitSurface(kuva, NULL, naytto, $alue);
    }

    PiirraKuva(kuva, naytto, 50, 50);

    SDL_Delay(5000);
    SDL_FreeSurface(kuva);
    SDL_Quit();
    return 0;
}

Tuon tarkoituksena olisi piirtää kuva näytölle.

Tulostaa hemmetisti erroreja vain.

TsaTsaTsaa [29.06.2007 18:19:01]

#

Siinä mättää se, että funktio PiirraKuva on määritelty väärässä paikkaa. Eli kun siirrät sen ennen main-funktiota, niin pitäisi pelittää. Suosittelisin C++:n perusteisiin perehtymään ehkä vähän enemmänkin ennen kun rupeat SDL:n parissa touhuilemaan.

Codeprofile [29.06.2007 18:23:29]

#

Ei toimi

Legu [29.06.2007 18:24:20]

#

SDL_Flip() näyttää myös puuttuvan, kun kerran SDL_DOUBLEBUF-lippu on asetettu.

Codeprofile [29.06.2007 18:29:01]

#

Mihin kohtaan se Flip-funktio tulee

EDIT: ookkei. sain toimimaan.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta