[SDL] SDL_Blit question

Salvatore Di Fazio salvatore.difazio at gmail.com
Fri Jun 16 11:52:31 PDT 2006


Hi guys,
I've a little problem to blit some tiles in the screen, this is the code:

    t = TimeLeft();
    for (i = 0; i < n; i++)
    {
      if (SwapTile(&tiles.Anim[i], &tiles.Anim[i].FrameNow, t))
        SDL_BlitSurface(tiles.Imgs->Frms[tiles.Anim[i].FrameNow],
NULL, 		scr, &tiles.Anim[i].Rect);
    }

	SDL_Flip(scr);

The swap function just changes the FrameNow number so I can blit the
appropriate tile.
But I have not changes in my scr.

If I write the samething but in this way:

   for (i = 0; i < n; i++)
      SwapTile(&tiles.Anim[i], &tiles.Anim[i].FrameNow, t);

	SDL_BlitSurface(tiles.Imgs->Frms[tiles.Anim[0].FrameNow], NULL, 		scr,
&tiles.Anim[0].Rect);
        SDL_BlitSurface(tiles.Imgs->Frms[tiles.Anim[1].FrameNow],
NULL, 		scr, &tiles.Anim[1].Rect);
        SDL_BlitSurface(tiles.Imgs->Frms[tiles.Anim[N].FrameNow],
NULL, 		scr, &tiles.Anim[N].Rect);

SDL_Flip(scr);

the animation works.

Why?




More information about the SDL mailing list