ページ 11

デバッグ用クラスの作り方

Posted: 2012年10月19日(金) 00:19
by ぶた
C++でDXライブラリを使用しています。
ゲーム作成中に、デバッグとして数値を画面に出力する場合

コード:

DrawFormatString(0, 0, "Aの値:%d", A)
DrawFormatString(0, 30, "Bの値:%d", B)
と書いていましたが、手作業で描画座標を変更するのが面倒なので↓のようなクラスにまとめて一括で処理しようと考えています。
しかし、そのクラスの作り方がよくわかりません。

コード:

class DebugManage{
    void output(char* mojiretsu){
        DrawString(x, y, mojiretsu);
        y += 30;
    }
    int x;    //描画位置
    int y;
}
このデバッグ用クラスはあらゆる場所から呼ばれる可能性があります。
かといって、mainLoop.update(DebugManage*) のようにゲーム中の全ての関数に引数として渡してゆくのは面倒です。
リリース時には使わなくなる機能なので、なるべく本体から切り離して使えるようにするにはどのようにしたらよいのでしょうか?

Re: デバッグ用クラスの作り方

Posted: 2012年10月19日(金) 01:19
by softya(ソフト屋)
クラスではなく関数で良いのでは?
classにするなら、staticなメンバ関数とstaticなメンバ変数ですね。

Re: デバッグ用クラスの作り方

Posted: 2012年10月19日(金) 01:47
by ぶた
softya(ソフト屋) さんが書きました:クラスではなく関数で良いのでは?
classにするなら、staticなメンバ関数とstaticなメンバ変数ですね。
参考図書を読んだときは何に使うんだろうと思ってましたが、なるほどこういうときに使うんですね。
ありがとうございました。