DXライブラリの文字表記について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
テノン

DXライブラリの文字表記について

#1

投稿記事 by テノン » 7年前

文字を描画する時に
int DrawString( int x , int y , char *String , int Color ) ;
っておくしかないと思うんですが
そのchar *Stringの部分に関数の計算結果などを表記させるにはどうしたらいいのでしょうか

意味も分かりにくい初心者な質問でごめんなさい><

jay
記事: 314
登録日時: 9年前
住所: 大阪市
連絡を取る:

Re: DXライブラリの文字表記について

#2

投稿記事 by jay » 7年前

やり方は幾つかあると思いますね

僕ならsprintf_sという関数を使います
例えば

char str[20];

という文字列用の変数を用意しておいて
そこに

sprintf_s(str, "答えは%d", 4+6);

とすればstrに「答えは10」というデータが入るわけですね
あとはDrawString関数で描画してやればいいかと


もしも「%dって何?」とか「何で%dに4+6の答えが入るの?」と言う辺りが分からない場合は
C言語の文字列操作に関する部分を勉強してみてください
♪僕たちは まだ森の中 抜け出そう 陽のあたる場所へ

アバター
みけCAT
記事: 6309
登録日時: 9年前
住所: 千葉県
連絡を取る:

Re: DXライブラリの文字表記について

#3

投稿記事 by みけCAT » 7年前

DXライブラリでしたら、素直にDrawFormatString関数を使えばいいと思います。
上の例でしたら、例えば

コード:

DrawFormatString(x,y,Color,"答えは%d",4+6);
です。バッファを確保したり、sprintf_sなどという変な関数を使う必要はありません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

KAIJIN

Re: DXライブラリの文字表記について

#4

投稿記事 by KAIJIN » 7年前

私ならCreateFontToHandleでフォントハンドルを入手して、
DrawFormatStringToHandleで表示します。

CreateFontToHandle
http://homepage2.nifty.com/natupaji/DxL ... tml#R17N10

DrawFormatStringToHandle
http://homepage2.nifty.com/natupaji/DxL ... tml#R17N22

なおフォントは割りと訴えられることがよくあるのでフリーのフォントをインストールして使うといいでしょう。

コード:

int high_score=0;
font=CreateFontToHandle("フォント名",20,2,DX_FONTTYPE_NORMAL);
DrawFormatStringToHandle(420,70,GetColor(255,255,255),font,"%d",high_score);

テノン

Re: DXライブラリの文字表記について

#5

投稿記事 by テノン » 7年前

皆さん返信ありがとうございます
案外知らない関数があったのでまだまだ勉強が必要だなと感じました
本当にありがとうございます!

閉鎖

“C言語何でも質問掲示板” へ戻る