Konrad-GM Opublikowano 15 Stycznia 2008 Udostępnij Opublikowano 15 Stycznia 2008 Dlaczego czcionka mi się nie ładuje? :( A tu kod: #include <SDL\SDL.h> #include <SDL\SDL_image.h> #include <SDL\SDL_ttf.h> #include <string> //! Others ------------ using namespace std; //! Screen ------------ const int Scr_Width=320; const int Scr_Height=240; const int Scr_BBP=32; //! Surfaces/Events/Fonts Create ------------ // Images ( in Game ) SDL_Surface* Surf_MapFront; SDL_Surface* Surf_MapBack; SDL_Surface* Surf_Player; // Fonts SDL_Surface* Surf_Text; TTF_Font* Font; SDL_Color textColor={255,255,255}; // Others SDL_Surface* Screen; // Screen SDL_Event Event; // Event //! Others ------------ SDL_Surface* loadImage(string _fname) { // Surfaces --- SDL_Surface* loadedImage; SDL_Surface* optymizedImage; // LoadImage --- loadedImage=IMG_Load(_fname.c_str()); // OptimizImage --- optymizedImage=SDL_DisplayFormat(loadedImage); SDL_FreeSurface(loadedImage); // colorkey unsigned int colorKey=SDL_MapRGB(optymizedImage->format,255,0,0); SDL_SetColorKey(optymizedImage,SDL_SRCCOLORKEY,colorKey); // Return optymizedImage return optymizedImage; } void applySurface(int _x,int _y,SDL_Surface* _source,SDL_Surface* _destination,SDL_Rect* _clip=NULL) { SDL_Rect _pos; _pos.x=_x; _pos.y=_y; SDL_BlitSurface(_source,_clip,_destination,&_pos); } //! Int ------------ int main(int argc,char* args[]) { Screen=SDL_SetVideoMode(Scr_Width,Scr_Height,Scr_BBP,SDL_SWSURFACE); SDL_WM_SetCaption("Mario - TEST",NULL); //! Load Images --------- Surf_MapBack=loadImage("./Data/Maps/Map_Back.bmp"); Surf_MapFront=loadImage("./Data/Maps/Map_Front.bmp"); Surf_Player=loadImage("./Data/Sprites/Mario.bmp"); //! Load Texts --------- Font=TTF_OpenFont(".\lazy.ttf",12); Surf_Text=TTF_RenderText_Solid(Font,"HELLO WORLD",textColor); //! Clips --------- SDL_Rect clipPlayer[3]; // Clip 1 clipPlayer[0].x=0; clipPlayer[0].y=0; clipPlayer[0].w=19; clipPlayer[0].h=26; // Clip 2 clipPlayer[1].x=19; clipPlayer[1].y=0; clipPlayer[1].w=19; clipPlayer[1].h=26; // Clip 3 clipPlayer[2].x=38; clipPlayer[2].y=0; clipPlayer[2].w=19; clipPlayer[2].h=26; //! Surfaces Apply --------- applySurface(0,0,Surf_MapBack,Screen); applySurface(0,0,Surf_MapFront,Screen); applySurface(50,50,Surf_Player,Screen,&clipPlayer[0]); applySurface(10,10,Surf_Text,Screen); //! While --------- bool Quit=false; int a; while(!Quit) { SDL_Flip(Screen); // Refresh Screen while(SDL_PollEvent(&Event)) { if(Event.type==SDL_QUIT) { Quit=true; } } } //! End --------- // Surface free SDL_FreeSurface(Surf_MapBack); SDL_FreeSurface(Surf_MapFront); // Quit SDL_Quit(); return 0; } Proszę o szybką pomoc ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lukier Opublikowano 15 Stycznia 2008 Udostępnij Opublikowano 15 Stycznia 2008 Dopisz TTF_Init(); na początku jak nie to . To już raczej nie wiem o co chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się