candio de imagen en dev-c++ usando SDL

Iniciado por peterfly, 24 Septiembre 2011, 14:00 PM

0 Miembros y 1 Visitante están viendo este tema.

peterfly

Tengo un codigo que me permite mover una imagen por la pantalla presionando unas taclas (cundo lo ejecuto)...

Pero eso no es lo que io buscaba...

Lo que io buscaba es que al peroionsar las teclas canvie una imagen a otra

OS AGRADECERIA TODA ayuda

el codigo que tengo es:
#include <stdlib.h>
#include <SDL/SDL.h>

int main(int argc, char *argv[])
{
SDL_Surface *screen;
SDL_Surface *fondo;
SDL_Surface *protagonista;
SDL_Rect destino;
int i, j;
int xProt = 320, yProt= 400;
int terminado = 0;
SDL_Event suceso;
Uint8* teclas;


/* Tratamos de inicializar la biblioteca SDL */
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
printf("No se pudo inicializar SDL: %s\n", SDL_GetError());
exit(1);
}

/* Preparamos las imagenes a mostrar */
fondo = SDL_LoadBMP("fondo.bmp");
protagonista = SDL_LoadBMP("fondo1.bmp");

/* Si todo ha ido bien, hacemos algo:
entrar a modo grafico y cambiar el título de la ventana */
screen = SDL_SetVideoMode( 640, 480, 16, SDL_HWSURFACE );
if(screen == NULL) {
printf( "Error al entrar a modo grafico: %s\n", SDL_GetError() );
SDL_Quit();
return -1;
   }

/* Titulo de la ventana */
SDL_WM_SetCaption( "programa de procva!", "Hola Mundo 3!" );

/* Parte repetitiva: hasta que se elija terminar */
while(terminado == 0) {

/* Dibujamos la imagen de fondo */
/* Como tiene 207 x 211 pixeles, la repetimos varias veces */
for (i=0; i<3; i++)
for (j=0; j<3; j++) {
destino.x=207*i;
destino.y=211*j;
SDL_BlitSurface(fondo, NULL, screen, &destino);
  }

/* Dibujamos el protagonista */
destino.x=xProt;
  destino.y=yProt;
  SDL_BlitSurface(protagonista, NULL, screen, &destino);

      /* Actualizamos la pantalla */
    SDL_Flip(screen);

     /* Miramos si hay algun suceso pendiente,
       entre ellos, peticion de abandonar el programa
         (pulsar la X de la ventana) o tecla ESC */
    while (SDL_PollEvent(&suceso)) {
        if (suceso.type == SDL_QUIT)    terminado = 1;
          if (suceso.type == SDL_KEYDOWN)
           if (suceso.key.keysym.sym == SDLK_ESCAPE)  terminado = 1;
        }

        /* Vemos el estado indivudal de las demas teclas */
      teclas = SDL_GetKeyState(NULL);
         if (teclas[SDLK_UP]) { yProt -= 2; }
  if (teclas[SDLK_DOWN]) { yProt += 2; }
       if (teclas[SDLK_LEFT]) { xProt -= 3; }
     if (teclas[SDLK_RIGHT]) { xProt += 3; }

    /* Y esperamos 50 ms antes de repetir */
        SDL_Delay( 50 );
}

/* Finalmente, preparamos para salir */
  SDL_Quit();
   return 0;
}


Como ago para que vaian canviando de imagen al presionar las teclas???