Problema programación con SDL

Iniciado por erickgracia, 6 Febrero 2015, 19:21 PM

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

erickgracia

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;
}

engel lex

la aplicación se tranca porque tiene un ciclo infinito

debes agregar algo para que escape de el...

Código (cpp) [Seleccionar]

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

erickgracia

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 :)