Eli kerron mahd. nopeasti ongelman:
SDL_ttf:llä pitäisi pistemäärä tulostaa näkyviin, mutta miten voi tulostaa tuohon perään itse vaihtuvan pistemäärän? En mistään löytänyt mitään esimerkkiä tähän ongelmaan äkkiseltään.
textsurface = TTF_RenderText_Solid(font,"SCORE: ",fontcolor);
mullakin oli tää ongelma vähän aikaa sit. Ratkaisin sen sillai muutan et itoa:lla pisteet char muotoon ja sit anna ne renderöitäväks
tälläi:
score on int ja pisteet char
itoa( score, &pisteet, 10 ); teksti = TTF_RenderUTF8_Blended( font, &pisteet, vari );
Tallenna koko teksti ensin merkkijonoksi, ja syötä sitten tämä merkkijono em. funktiolle:
//C:ssä näin #include <stdio.h> ..... char* teksti; //pisteet on int-tyyppinen muuttuja sprintf (teksti, "SCORE: %d", pisteet); textsurface = TTF_RenderText_Solid(font,teksti,fontcolor); //Ja C++:ssä vaikka näin #include <string> string teksti = "SCORE: " << pisteet; textsurface = TTF_RenderText_Solid(font,teksti.c_str(),fontcolor);
Etsimällä olisi löytynyt vaikkapa C++-koodivinkki tyypinmuunnoksista. Aiheesta on puhuttu aiemminkin, ikkunan otsikon yhteydessä sillä kertaa: https://www.ohjelmointiputka.net/keskustelu/
Zachilla meni muuten oikein, mutta ensimmäisessä esimerkissä tekstille pitäisi varata ensin tilaa. Tuo koodi mitä todennäköisimmin aiheuttaa virheen, kun ohjelma yrittää kirjoittaa ties mihin kohti muistia. Eli näin:
char teksti[32]; // Sopivasti kokoa, että varmasti mahtuu.
Aihe on jo aika vanha, joten et voi enää vastata siihen.