0

最近、DirectX を使用して C++ でプログラミングを始めました。以前に Allegro と SDL を使用したことがあるので、C++ は初めてではありません。これまでのところ、画面にテキストを描画できます。ただし、画面に変数を描画できないという小さな問題があります。理想的には、文字列 + int 値を描画したいと考えています。しかし、私はそれを行う方法がわかりません。これはこれまでの私のコードのスニペットです:

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

ご想像のとおり、これにより "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 に答える