2017-04-21 169 views
0

我一直在試圖改變TTF文本的顏色,但我無法弄清楚如何做它。我有:更改顏色TTF文字SDLÇ

SDL_Color color_text = { 0, 0, 0 }; //Text color 

SDL_Surface * surface = TTF_RenderText_Solid(font, "text text text text text ", color_text); 

,但它看起來像一個罐頭不會以任何方式改變顏色。如果可能的話,我可以用另一種方式存儲顏色。

回答

0

爲了更改相關文本的任何屬性,您需要重新渲染文本。

比方說,你已經從一個黑色的文字,你就會有這樣的:

SDL_Color color_text = { 0, 0, 0 }; // Text color 
SDL_Surface* surface = TTF_RenderText_Solid(font, "TEXT", color_text) 

這將使"TEXT"黑色,因爲{ 0, 0, 0 }是黑色的RGB代碼。

如果你想它的紅色,你可以操縱值,例如:

color_text.r = 255; 
SDL_Surface* surface = TTF_RenderText_Solid(font, "TEXT", color_text) 

這將使"TEXT"紅色,因爲color_textr成員設置爲255,使得color_text的成員{ 255, 0, 0 },紅色的RGB代碼。