Problema con SDL_tff, desaparece la ventana

Tratamos sobre el manejo de APIs frecuentemente utilizadas en el desarrollo de videojuegos, como SDL, pygame o SFML.

Problema con SDL_tff, desaparece la ventana

Notapor capoeira_pdb » Dom Abr 13, 2008 10:54 pm

Es extraño, he instalado SDL_tff y he mirado varios programillas de ejemplo que la usan. Compila perfectamente con Dev C++ pero al ejecutarlo, se abre y se cierra la ventana automaticamente, no tengo ni idea de lo que hacer. Espero que alguien pueda ayudarme.

Código: Seleccionar todo
#include <stdio.h>
#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>

int main(int argc, char* argv[])
{
    int done = 0;
    SDL_Surface * pantalla;
    SDL_Surface * tmp;
    TTF_Font * font;
    SDL_Event event;
    SDL_Color Color2 = {200, 47, 215, 0};
    SDL_Color Color3 = {0, 0, 255, 0};
    SDL_Rect rect = {0, 100, 0, 0};


    if (SDL_Init(SDL_INIT_VIDEO))
    {
        printf("No se puede iniciar SDL: %s\n", SDL_GetError());
        return 1;
    }

    if (TTF_Init())
    {
        printf("No se puede iniciar TTF: %s\n", SDL_GetError());
        return 1;
    }

    pantalla = SDL_SetVideoMode(320, 240, 16, 0);
    font = TTF_OpenFont("font.ttf", 24);

    rect.w = 20;
    tmp = TTF_RenderText_Solid(font, "hola 1", Color2);
    SDL_BlitSurface(tmp, NULL, pantalla, &rect);

    rect.x = 120;
    tmp = TTF_RenderText_Shaded(font, "hola 2", Color2, Color3);
    SDL_BlitSurface(tmp, NULL, pantalla, &rect);

    rect.x = 230;
    tmp = TTF_RenderText_Blended(font, "hola 3", Color2);
    SDL_BlitSurface(tmp, NULL, pantalla, &rect);

    SDL_Flip(pantalla);

    TTF_CloseFont(font);


    while (! done)
    {
        while(SDL_PollEvent(&event)){
        SDL_WaitEvent(& event);

        if (event.type == SDL_KEYDOWN || event.type == SDL_QUIT)
            done = 1;
            }
    }

    return 0;
}


Gracias y un saludo.
capoeira_pdb
 
Mensajes: 3
Registrado: Dom Abr 13, 2008 10:50 pm

Notapor Geo » Lun Abr 14, 2008 12:26 am

Si no lo estás ejecutando desde consola, revisa los mensajes en el archivo stdout.txt.

Si no encuentras el error, pon los mensajes por aquí :).
La imaginación es el límite.
Visita mi blog en inglés o en español.
Geo
 
Mensajes: 244
Registrado: Jue Ago 10, 2006 3:51 am
Ubicación: México

Notapor capoeira_pdb » Lun Abr 14, 2008 7:34 am

La cosa es que están vacíos... Estoy usando windows XP y antes me paso lo mismo con SDL (subsistema de video) y SDL_image pero no se como, se solucionó... Esto es muy raro.
capoeira_pdb
 
Mensajes: 3
Registrado: Dom Abr 13, 2008 10:50 pm

Notapor capoeira_pdb » Lun Abr 14, 2008 8:07 am

Solucionado: la fuente no tenia el mismo nombre exactamente que la que puse en devc++. PATETICO, saludad a un newer de mierda :lol:

En fin, a seguri intentandolo
capoeira_pdb
 
Mensajes: 3
Registrado: Dom Abr 13, 2008 10:50 pm

Notapor Geo » Lun Abr 14, 2008 5:03 pm

Tranquilo, es algo muy común :P. Esperaba que en el stdout.txt te diera una pista al respecto. Recomiendo que, así como verificas los valores devueltos por las funciones de inicialización, también lo hagas con las funciones de carga o creación de imágenes y/o fuentes.
La imaginación es el límite.
Visita mi blog en inglés o en español.
Geo
 
Mensajes: 244
Registrado: Jue Ago 10, 2006 3:51 am
Ubicación: México


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado