elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 00:44  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  candio de imagen en dev-c++ usando SDL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: candio de imagen en dev-c++ usando SDL  (Leído 1,031 veces)
peterfly

Desconectado Desconectado

Mensajes: 74


Ver Perfil
candio de imagen en dev-c++ usando SDL
« en: 24 Septiembre 2011, 14:00 »

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:
Código:
#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???


En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines