0

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

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

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

任何帮助,将不胜感激。

4

1 回答 1

1

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

示例:(未测试)

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

显然这只是说明性的,因为这可以更加完善。

于 2013-07-21T14:54:37.190 回答