Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: erickgracia en 6 Febrero 2015, 19:21 pm



Título: Problema programación con SDL
Publicado por: erickgracia en 6 Febrero 2015, 19:21 pm
Hola a todos, estoy empezando a programar en lenguaje SDL, y he hecho un par de prácticas generadas correctamente, el problema es cuando tengo este código que no hace nada del otro mundo, solo abre una ventana y muestra una imagen dentro de ella. al correr el programa, se muestra la ventana con la imagen sin embargo a los pocos segundo la ventana No Responde y debo cerrarla, tengo alguna idea de que debe ser por el loop pero no tengo exactitud de que lo causa o el por que e traba el programa a l ejecutarse...

Les dejo el código a continuación :)

Código:
#include"SDL/SDL.h"
#include"Objeto.h"

int main(int argc, char* args[]){
SDL_Surface* screen;
screen=SDL_SetVideoMode(640,480,16,SDL_SWSURFACE);
Objeto obj;
bool running=true;
while(running){
SDL_BlitSurface(obj.imagen,NULL,screen, NULL);
SDL_Flip(screen);
}
SDL_Quit();
return 0;
}


Título: Re: Problema programación con SDL
Publicado por: engel lex en 6 Febrero 2015, 22:10 pm
la aplicación se tranca porque tiene un ciclo infinito

debes agregar algo para que escape de el...

Código
  1. bool running=true;// <- como ya está en tu código
  2.  
  3. SDL_Event event;// <- variable eventos de SDL
  4. while (SDL_PollEvent(&event)) { //<- esa función retorna 1 mientras hayan eventos por leer
  5.     if(events.type == SDL_QUIT){ //<- si el evento es salir
  6.          running = false; //<- paramos el while
  7.     }
  8.     if(events.type == SDK_KEYDOWN){ //<- si el evento fue una tecla presionada
  9.          if(event.key.keysym.sym==SDLK_ESCAPE){//<-si se presionó esc
  10.               running = false; //<- paramos el while
  11.          }
  12.     }    
  13. }
  14.  

tal vez el cogido no está bueno porque no manejo SDL y lo estoy haciendo a vista, pero espero que te de una idea... se suponeq ue eso va dentro del while de tu código

https://wiki.libsdl.org/SDL_PollEvent (https://wiki.libsdl.org/SDL_PollEvent)


Título: Re: Problema programación con SDL
Publicado por: erickgracia en 7 Febrero 2015, 20:32 pm
Muchas gracias, parece que eso debe ser jeje... uno se complica a veces tanto las cosas y piensa que el problema debe andar en los nuevos conocimientos, cuando lo que falta tomar en centa aboslutamente todo lo que se ha visto....

Le coloque un delay de dos segundos y un break para salir del ciclo y parece no haber un error :)