Skocz do zawartości

Fonty [ SDL ]


Konrad-GM

Rekomendowane odpowiedzi

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...