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

SDL Renderowanie Textu

Object Storage Arubacloud
0 głosów
363 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 (194,920 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 (194,920 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 (194,920 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ź 332 wizyt
pytanie zadane 23 września 2017 w C i C++ przez DonTweaks Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 179 wizyt
pytanie zadane 18 czerwca 2017 w C i C++ przez shout123131 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 386 wizyt
pytanie zadane 13 maja 2023 w C i C++ przez antekwi546 Użytkownik (510 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...