- Código: Seleccionar todo
- #include "Sdl/SDL.h"
 #include "Sdl/SDL_image.h"
 #include "clases/controlador/controlador.h"
 #include "clases/imagen/imagen.h"
 #include "clases/texto/texto.h"
 //variables//
 bool bucle= true;
 SDL_Surface* video;
 SDL_Event evento;
 //instancias//
 CControlador controlador;
 CImagen imagen;
 CTexto texto("fuentes/courier.ttf",12);
 //programa//
 int main(int argc, char **argv)
 {
 SDL_Init(SDL_INIT_VIDEO);
 TTF_Init();
 imagen.Cargar(0,"graficos/Homosapiperro.jpg");
 video= SDL_SetVideoMode(800,600,16,SDL_HWSURFACE|SDL_DOUBLEBUF);
 while (bucle)
 {
 //aqui uso metodos de dibujado para imagen y texto//
 imagen.Dibujar(video,0);
 texto.Dibujar("hola mundo",video,30,40,200,100,50);
 while (SDL_PollEvent(&evento))
 {
 if (evento.type== SDL_KEYDOWN)
 {
 switch (evento.key.keysym.sym)
 {
 case SDLK_ESCAPE:
 bucle= false;
 break;
 }
 }
 }
 }
 return 0;
 }
Aqui imagen.cpp:
- Código: Seleccionar todo
- #include "imagen.h"
 //--CONSTRUCTORES--//
 CImagen::CImagen()
 {
 fotocant= 0; fotoactu= 1; x= 0; y= 0;
 }
 //--METODOS--//
 //Cargar//
 void CImagen::Cargar(short delactu, char *directorio)
 {
 if (delactu== 0)
 {
 fotocant++;
 repositorio[fotocant]= IMG_Load(directorio);
 }
 else
 {
 short n;
 for (n= 1;n< fotocant;n++)
 {
 SDL_FreeSurface(repositorio[n]);
 }
 fotocant= 1;
 repositorio[fotocant]= IMG_Load(directorio);
 }
 }
 //Vaciar//
 void CImagen::Vaciar()
 {
 short n= 0;
 for (n= 1;n< fotocant;n++)
 {
 SDL_FreeSurface(repositorio[n]);
 }
 fotocant= 0;
 }
 //Dibujar//
 void CImagen::Dibujar(SDL_Surface* lugar, short MtrFtg)
 {
 SDL_Rect destino;
 destino.x= x;
 destino.y= y;
 if (MtrFtg== 0)
 {
 SDL_BlitSurface(repositorio[fotoactu],NULL,lugar,&destino);
 if (fotocant> 1)
 {
 if (fotoactu!= fotocant)
 fotoactu++;
 else
 fotoactu= 1;
 };
 }
 else
 SDL_BlitSurface(repositorio[MtrFtg],NULL,lugar,&destino);
 }
Y aqui texto.cpp:
- Código: Seleccionar todo
- #include "texto.h"
 //--CONSTRUCTORES--//
 CTexto::CTexto(const char *directorio,int tamano)
 {
 fuente= TTF_OpenFont(directorio,tamano);
 }
 //--METODOS--//
 //Dibujar//
 void CTexto::Dibujar(const char* ttexto,SDL_Surface* lugar,short x,short y,short fg1,short fg2,short fg3)
 {
 fgcolor.r= fg1;
 fgcolor.g= fg2;
 fgcolor.b= fg3;
 bgcolor.r= 255;
 bgcolor.g= 0;
 bgcolor.b= 0;
 texto= TTF_RenderText_Shaded(fuente,ttexto,fgcolor,bgcolor);
 posicion.x= x;
 posicion.y= y;
 SDL_BlitSurface(texto,NULL,lugar,&posicion);
 }
Los h. estan correctamente en estas dos clases al igual que al cargar la imagen y la fuente, aparte de eso me gustaria colaborar como programador en la comunidad aunque sea principiante, si esto es muy molesto les puedo dejar el enlace al proyecto, muchas gracias ^^


 .
.