(已结束)C ++& Direct3D 9 - 如何绘制格式化文本? (像printf等)

时间:2013-07-21 14:50:45

标签: c++ directx printf direct3d

我最近开始使用DirectX在C ++中进行一些编程。我不是C ++的新手,因为我使用过Allegro& SDL之前。到目前为止,我可以在屏幕上绘制文字。但是,现在我有一个小问题,我无法在屏幕上绘制变量。理想情况下,我想绘制一个字符串+一个int值。但是我不知道该怎么做。到目前为止,这是我的代码片段:

font->DrawTextA(sprite, "Score: ", -1, scoreR, DT_CALCRECT, 0xFFFFFFFF);
font->DrawTextA(sprite, "Score: ", -1, scoreR, 0, 0xFFFFFFFF);

正如您所料,这会将“得分:”写入屏幕。之后我需要它来写'得分'变量。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用sprintf将字符串格式化为内存字符串,然后使用DrawText打印它

示例:(未经测试)

char formatted_string[100];
sprintf(formatted_string, "Score: %d", score);
font->DrawTextA(sprite, formatted_string, -1, scoreR, DT_CALCRECT, 0xFFFFFFFF);

显然这只是说明性的,因为这可能会更加精致。