Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

Curso programación de videojuegos con SDL – Moviendo una imagen por la pantalla

Tras cargar la imagen y quedarse estática en la pantalla os darán ganas de moverla. Aprendamos a como moverla por la pantalla con las flechas del teclado. Aprovecharemos para cambiar la forma de salirnos de la aplicación, ahora lo podremos hacer mediante la tecla ESC o haciendo clic en el cierre de la ventana. Veamos como en el caso anterior lo que debemos incluir:

  1. Declaramos un entero para las coordenadas X e Y de nuestro avión:int posicionJugadorX=320, posicionJugadorY=40;
  2. Declaramos un puntero, para que se almacene un vector dinámico con las teclas pulsadas:Uint8* teclas;
  3. Cambiamos la estructura del programa. Ahora, tras inicializar todo, parte que terminamos cambiando el título a la ventana, pasamos a hacer un bucle para que el programa se ejecute hasta que el jugador quiera salir.while(!terminar)
  4. Usamos la variable posicion tanto para dibujar el fondo como el avión en cada paso del bucle:SDL_BlitSurface(fondo, NULL, screen, &posicion); …posicion.x=posicionJugadorX; posicion.y=posicionJugadorY; SDL_BlitSurface(jugador, NULL, screen, &posicion);
  5. Bucle para detectar salidas (pulsación de ESC o de la cruz de cerrar programa):while ( SDL_PollEvent(&event) ) {if(event.type == SDL_QUIT || event.key.keysym.sym == SDLK_ESCAPE)terminar = 1;}
  6. Finalmente, el resto de las teclas:teclas = SDL_GetKeyState(NULL);if(teclas[SDLK_UP]) { posicionJugadorY -= 2; }if(teclas[SDLK_DOWN]) { posicionJugadorY += 2;}if(teclas[SDLK_LEFT]) { posicionJugadorX -= 2; }if(teclas[SDLK_RIGHT]) { posicionJugadorX += 2; }

De esta manera conseguiremos que nuestro avión se mueva a través de la pantalla siguiendo nuestras órdenes. Modificaremos nuestro fichero Makefile para poder compilar este ejemplo. El resultado es el mismo que antes pero podemos mover nuestro avión. El código completo:

Leer entrada anterior
Temperatura de Color en GIMP

Una de las carácterísticas que más añoraba al revelar mis fotografías con GIMP era el ajuste de la temperatura de...

Cerrar