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 :)
#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;
}
la aplicación se tranca porque tiene un ciclo infinito
debes agregar algo para que escape de el...
bool running=true;// <- como ya está en tu código
SDL_Event event;// <- variable eventos de SDL
while (SDL_PollEvent(&event)) { //<- esa función retorna 1 mientras hayan eventos por leer
if(events.type == SDL_QUIT){ //<- si el evento es salir
running = false; //<- paramos el while
}
if(events.type == SDK_KEYDOWN){ //<- si el evento fue una tecla presionada
if(event.key.keysym.sym==SDLK_ESCAPE){//<-si se presionó esc
running = false; //<- paramos el while
}
}
}
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)
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 :)