打算抽時間寫個RichText,初步想法是直接使用 freetype 。
Android IOS 似乎都支持 freetype,暫未實踐,只是在 win32 上嘗試一下。
richtext::Font font("C:/Windows/fonts/simhei.ttf", 24);
richtext::Line line(480);
int color[] = {0xFFFFFF, 0xFF0000, 0xFFFFFF, 0x00FFFF, 0xFFFFFF};
char* text[] = {"恭喜", "[王尼瑪]", "同學獲取", "[草泥馬]", " x 1" };
int effect[] = {0, 3, 0, 2, 0};
for (int i = 0; i < 5; ++i)
{
line.AddElement(new richtext::TextElement(font, text[i], color[i], richtext::TextElement::Effect(effect[i])));
}
addChild(line.ToSprite());
效果如圖: