Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: SDL_ttf-ongelmaa

Prutus [05.09.2006 19:18:41]

#

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);

Lahha [05.09.2006 19:32:31]

#

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 );

Zach [05.09.2006 19:39:52]

#

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);

Metabolix [05.09.2006 21:03:12]

#

Etsimällä olisi löytynyt vaikkapa C++-koodivinkki tyypinmuunnoksista. Aiheesta on puhuttu aiemminkin, ikkunan otsikon yhteydessä sillä kertaa: https://www.ohjelmointiputka.net/keskustelu/12333-otsikkorivi

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta