• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SDL Renderowanie Textu

Cloud VPS
0 głosów
1,033 wizyt
pytanie zadane 5 października 2019 w C i C++ przez Jakub Chomicz 1 Użytkownik (840 p.)

Witam mam problem otóż pisałem obiektowo aplikacje i obecnie pracuję nad wyświetlaniem textu tylko że jest problem otóż skubaniec nie chce się pokazać pomimo że żaden error mi się nie wyświetla ktoś ma jakiś pomysł ? proszę o szybką pomoc...

#include "TexturesAndTexts.h"

SDL_Texture * Texture::Load(const char*file,SDL_Renderer*ren)
{
    SDL_Surface*Surf = IMG_Load(file);
    SDL_Texture*tex = SDL_CreateTextureFromSurface(ren,Surf);
    SDL_FreeSurface(Surf);
    return tex;
}
void Texts::TextCreate(const char*name,const char*path,int s,SDL_Color color,int x,int y,SDL_Renderer*ren)
{
    TR.x = x;
    TR.y = y;
    TTF_Font*font = TTF_OpenFont(path,s);
    SDL_Surface*Surf = TTF_RenderText_Blended(font,name,color);
    SDL_Texture*textrender = SDL_CreateTextureFromSurface(ren,Surf);
    SDL_FreeSurface(Surf);
    SDL_QueryTexture(textrender,NULL,NULL,&TR.w,&TR.h);
    SDL_RenderCopy(ren,textrender,NULL,&TR);
}
#include "Game.h"
Texts*T;
Game::Game()
{

}
Game::~Game()
{

}
void Game::Init(const char*Title,int x,int y,int w,int h,bool FC)
{
    if(SDL_Init(SDL_INIT_EVERYTHING) == 0)
    {
        cout<<"SDL_INITIALIZATION_SUCCEED"<<endl;
        WINDOW = SDL_CreateWindow(Title,x,y,w,h,FC);
        if(WINDOW)
        {
            cout<<"Window Created"<<endl;
        }
        RENDER = SDL_CreateRenderer(WINDOW,-1,0);
        if(RENDER)
        {
            cout<<"Render Created"<<endl;
        }
        Running = true;
    }
    else
    {
        Running = false;
    }
    SDL_Color kolor = {255,0,0};
    T = new Texts;
    T->TextCreate("LOL","FONST/comici.ttf",60,kolor,0,0,RENDER);
}
void Game::Events()
{
    SDL_Event event;
    SDL_PollEvent(&event);
    switch(event.type)
    {
    case SDL_QUIT:
        Running = false; break;
    default:
        break;
    }
}
void Game::UpdateAndRender()
{

}
void Game::CleanRender()
{

}
void Game::QuitGame()
{
    cout<<"Cleaned"<<endl;
    SDL_DestroyWindow(WINDOW);
    SDL_Quit();
}
#include "Game.h"
Game*G;
int main(int argc,char* args[])
{
    G = new Game();
    G->Init("Demon Jake",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,1280,720,false);
    while(G->Running)
    {
        G->Events();
        G->UpdateAndRender();
    }
    G->CleanRender();
    G->QuitGame();
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 5 października 2019 przez j23 Mędrzec (195,240 p.)
wybrane 5 października 2019 przez Jakub Chomicz 1
 
Najlepsza

"FONST/comici.ttf"

Na pewno chodziło Ci o katalog FONST?

Dlaczego T i G jest globalne?

Powinieneś też zwalniać fonta funkcją TTF_CloseFont.

Chyba już Ci pisałem, żebyś nie nazywał zmiennych dużymi literami, bo ten sposób jest zarezerwowany dla makr, aliasów typów (w stylu C) i stałych.

komentarz 7 października 2019 przez Jakub Chomicz 1 Użytkownik (840 p.)

Wypisuje to co napisałem w sekcji else czyli PNG_OK

komentarz 7 października 2019 przez j23 Mędrzec (195,240 p.)
Nie wklejaj całego ekranu, bo kompletnie nic nie widać.
komentarz 7 października 2019 przez Jakub Chomicz 1 Użytkownik (840 p.)
w sumie racja. Tak czy siak pisze ze wszystko jest ok a nie wyświetla
komentarz 7 października 2019 przez j23 Mędrzec (195,240 p.)
Skończyły mi się pomysły. Skoro font się ładuje, to nie jest to problem katalogów. Jakby brakowało jakiejś DLL-ki, to dostałbyś odpowiednie info o tym. Być może to kwestia zmiennych środowiskowych, procesy potomne dziedziczą je po rodzicu (czyli C::B)... Ciężko powiedzieć.
komentarz 9 października 2019 przez Jakub Chomicz 1 Użytkownik (840 p.)
no trudno dobra dzięki za pomoc coś pokombinuje

Podobne pytania

0 głosów
1 odpowiedź 453 wizyt
pytanie zadane 23 września 2017 w C i C++ przez DonTweaks Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 210 wizyt
pytanie zadane 18 czerwca 2017 w C i C++ przez shout123131 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 545 wizyt
pytanie zadane 13 maja 2023 w C i C++ przez antekwi546 Użytkownik (510 p.)

93,467 zapytań

142,460 odpowiedzi

322,736 komentarzy

62,848 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...