DrawFormatString

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

DrawFormatString

#1

投稿記事 by BAZZ » 17年前

とりあえず下のプログラムを見てください
おねがいします

//マップの状態を出力
void MapState(){
for(int j = 0;j < 15; j ++ )
for(int i = 0;i < 20; i ++ )
DrawFormatString(i * CHIP,j * CHIP, "%d", map[j]);
}

これをコンパイルするとエラーが出るんです
ちなみにエラー内容は
error C2664: 'DrawFormatString' : 3 番目の引数を 'const char [3]' から 'int' に変換できません。(新しい機能 ; ヘルプを参照)
この変換が可能なコンテキストはありません。

となるんですが・・・・
なぜエラーが出るんでしょうか??
DrawFormatString関数ってほぼprintf関数とおなじような感じで
つかえるんじゃありませんでしたっけ??

どうすればいいんだかわかりません
回答よろしくお願いします

管理人

Re:DrawFormatString

#2

投稿記事 by 管理人 » 17年前

色の指定が抜けてますよw

管理人

Re:DrawFormatString

#3

投稿記事 by 管理人 » 17年前

リファレンスページで関数の仕様を確認してください。

DrawFormatString( int x , int y , int Color , char *FormatString , ... ) ;

とありますね。
ここには
GetColor(255,255,255)
とか書くか、
事前に
int white=GetColor(255,255,255);
としておいて
whiteを第三引数に渡すかどちらかしましょう。

'const char [3]' から 'int' に変換できません。

こんなエラーが出た時は
「あれ?自分の書こうとしていた引数がしようと違うんだな」と思ってください。

ちなみに、書式指定のないDrawStringとは色の引数の場所がちがうんで注意してください

DrawString( int x , int y , char *String , int Color ) ;

BAZZ

Re:DrawFormatString

#4

投稿記事 by BAZZ » 17年前

げw

すいません
激しく盆ミスでした・・・・orz

早々と答えていただきありがとうございます

今度はちゃんと調べてから来ます・・・・゜・(ノД`)・゜・

今、出力できました
自分で言うのもなんですが
この関数結構使えそう・・・

ちなみにまだ例のやつは実装できてません(爆
がんばります

管理人

Re:DrawFormatString

#5

投稿記事 by 管理人 » 17年前

>自分で言うのもなんですが

いや、BAZZさんがお作りになったわけではないので、控えめになる必要は無いのでは(笑

冗談ですw
この関数は結構使えますよ~♪
「描画する文字列の描画先の長さを先に取得する」という関数がありますし、
併用する事で画面外に文字が出てしまう事も防げます。
チャットとか作る時によく使います。
単なるCと違って文字列の長さだけじゃ描画先の長さがわかりませんね。
何ポンドで描画しているか、どんな書体で描画しているかで何文字書いたら何ドットすすむかわかりません。
そういう時使えます。
後、フォントサイズやフォントデータなどを変更する時は変更に時間がかかるので
あらかじめ作成したフォントデータを使用してください。

詳しくは
http://dixq.net/g/#54
と55節を連続でよんで下さい。

また何かわからなかったら気軽に聞いてください^^

例の奴実装頑張ってくださいね☆

あ、今日サンプルプログラム注釈付きでアップしたんで、よければそちらも見てください☆

閉鎖

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