ザ・シグラル

printfDxとその関連関数


私の一番好きな関数printfDx関数について解説しようと思います。
printfDx関数は画面左上に簡易ログ出力を行う関数で、変数の中身を見たい時にDrawFormatString関数を並べるよりずっと簡単に変数の中身を見ることができます。
利用例
printfDx("%d\n",test);
なお、2016/03/28現在printfDx関数のフォントを変更する方法はありません。
しかし非公開関数SetLogFontSize関数を利用することでフォントサイズは変更可能です
また、非公開関数SetLogDrawArea関数を使うことによってprintfDxにより描画する座標を変更することができます。
さらに、このような利用法をする場合、画面に写った文字を消すためには
printfDx("\n\n\n\n\n\n");などと行う必要が出てきますが公開関数clsDx関数を利用することで画面上の全てのprintfDx関数文字を消すことができます
ですが消す以前にデバック以外では文字を表示したくない時があります。そのようなとき非公開関数はSetLogDrawOutFlag関数を利用することで画面への文字表示をoffにすることができます
このとき、現在が文字出力中かどうかを調べるにはGetLogDrawFlag関数を利用します


<今日の関数> 
公開関数
printfDx関数:簡易文字列出力を行う
clsDx関数:簡易画面出力履歴をクリアする

非公開関数
SetLogFontSize関数:
宣言:int SetLogFontSize( int Size ) ;
概略:printfDx の結果を画面に出力する際に使用するフォントのサイズを設定する
引数:Size printfDxで表示する文字のフォントサイズ
戻り値:0:成功
  -1:エラー発生
解説:printfDx の結果を画面に出力する際に使用するフォントのサイズを変更したい時に使う関数がこの関数です。
       なお、printfDx関数以外での文字のフォントサイズは変わりません

SetLogDrawArea関数:
宣言:int SetLogDrawArea( int x1, int y1, int x2, int y2 ) ;
概略:printfDx の結果を画面に出力する際の描画する領域を設定する
引数:x1,y1 printfDxの表示領域の左上の座標
x2,y2 printfDxの表示領域の右下+1の頂点座標
戻り値:0:成功
  -1:エラー発生
解説:printfDx関数の描画領域を(x1,y1)を左上、(x2-1,y2-1)を右下の座標にします。
       なぜ-1するのかは公式サイトのDrawBox関数を御覧ください

SetLogDrawOutFlag関数:
宣言:int SetLogDrawOutFlag( int DrawFlag ) ;
概略:printfDx の結果を画面に出力するかどうかを設定する、TRUE:出力を行う  FALSE:出力を行わない
       ( printfDx を実行すると内部で SetLogDrawOutFlag( TRUE ) ; が呼ばれます )
引数:DrawFlag printfDxの結果を画面に出力するか
TRUE 出力を行う
FALSE 出力を行わない
戻り値:0:成功
  -1:エラー発生
解説:引数をFALSEにすると次以降のScreenFlipでのprintfDx表示文字を表示しません。ただしprintfDx関数が呼び出されるとTRUEとなるので注意してください。現在TRUEかどうかはGetLogDrawFlag関数で取得できます

GetLogDrawFlag関数
宣言:int GetLogDrawFlag( void ) ;
概略:printfDx の結果を画面に出力するかどうかの設定を取得する( 戻り値  TRUE:出力を行う  FALSE:出力を行わない )
引数:なし
戻り値:0:printfDxの出力は行われない
  1:printfDxの出力は行われる
解説:printfDx関数が出力を行うかどうかを取得します。出力の有無はSetLogDrawOutFlag関数で設定できます

※非公開関数の説明は私が書いています。一貫性を持たせるために可能な限りDxlib制作者様に似せて書いておりますが改善の要望等ありましたらコメントをお願い致します。

inserted by FC2 system