Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con SDL_BlitSurface

Estas en el tema de Ayuda con SDL_BlitSurface en el foro de C/C++ en Foros del Web. Buenas tardes a todos, tengo una pequeña funcion que me permite mostrar en pantalla el estado de un juego, pegando superficies en pantalla. Lo que ...
  #1 (permalink)  
Antiguo 10/05/2010, 09:29
 
Fecha de Ingreso: mayo-2010
Ubicación: Belgica
Mensajes: 17
Antigüedad: 14 años
Puntos: 2
Ayuda con SDL_BlitSurface

Buenas tardes a todos,

tengo una pequeña funcion que me permite mostrar en pantalla el estado de un juego, pegando superficies en pantalla.
Lo que deberia de hacer( de momento) es:
-pegar una superficie a la derecha y escribir "jugador"
-pegar una superficie a la izquierda y escribir "jugador"

Código C++:
Ver original
  1. void Estado::mostrarEstado(SDL_Surface* screen){
  2.     TTF_Init();
  3.     TTF_Font* fuente = TTF_OpenFont("comic.ttf", 10);
  4.     TTF_Font* zonaTextoFuente = TTF_OpenFont("comic.ttf", 15);
  5.     SDL_Color blanco = {255, 255, 255};
  6.  
  7.     SDL_Rect posSuperficie;
  8.     SDL_Surface* superficie=NULL;
  9.  
  10.     for(int i=0;i<2;i++)
  11.     {
  12.         //pego los menus
  13.         SDL_BlitSurface(m_menus[i].getMenu(),NULL,screen,&(m_menus[i].getPosMenu()));
  14.  
  15.         posSuperficie.x=m_menus[i].getPosMenu().x+50;
  16.         posSuperficie.y=10;
  17.  
  18.         string cadena="jugador";
  19.         //superficie=TTF_RenderText_Blended(fuente,cadena.c_str(),blanco);
  20.         //SDL_BlitSurface(superficie,NULL,screen,&posSuperficie);
  21.  
  22.     }
  23.  
  24.     TTF_CloseFont(fuente);
  25.     TTF_CloseFont(zonaTextoFuente);
  26.     TTF_Quit();
  27. }


esta función es llamada desde el bucle principal del main.
mi código me permite mostrar en pantalla 2 menús

pero en el momento en el que activo, solamente:

Código C++:
Ver original
  1. superficie=TTF_RenderText_Blended(fuente,cadena.c_str(),blanco);

los menus desaparecen y en la pantalla veo 1 vez la palabra "jugador"

si activo tambien

Código C++:
Ver original
  1. SDL_BlitSurface(superficie,NULL,screen,&posSuperficie);


veo 3 veces la palabra "jugador".

el problema creo que viene de:

Código C++:
Ver original
  1. SDL_BlitSurface(m_menus[i].getMenu(),NULL,screen,&(m_menus[i].getPosMenu()));

porque si lo pongo en comentario, veo 2 veces la palabra "jugador".
pero lógicamente los menús no aparecen.

que es lo que hago mal?
como hago para que salgan los menus y las palabras ? :s

gracias
salu2

Última edición por fantasma21; 11/05/2010 a las 09:14
  #2 (permalink)  
Antiguo 11/05/2010, 09:25
 
Fecha de Ingreso: mayo-2010
Ubicación: Belgica
Mensajes: 17
Antigüedad: 14 años
Puntos: 2
Respuesta: Ayuda con SDL_BlitSurface

Alguna idea ?? :s

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:09.