Karakuri Framework では、以下のようなデバッグのための手法を提供しています。
Karakuri Framework に用意されているすべてのクラスは、KRObject クラスから継承しており、現在の状態を文字列として表すための const char *c_str() 関数をもっています。
KRDebug() 関数を使うことで、標準出力にデバッグ文字列を出力できます。
KRDebug() 関数は、printf() 関数と同じ書式を使い、複数の引数を伴って呼び出すことができます。
KRDebug() 関数は、Debug ビルドでのみ標準出力に文字列を出力します。Release ビルドでは何も行いません。
KRDebug() 関数と同様に使えるのが、KRDebugScreen() 関数です。KRDebugScreen() 関数は、直接ゲーム画面の上に、影付きの白文字でデバッグ文字列を表示します。とくに iPhone 実機でのデバッグに有効な手段となります。
デバッグ文字列が不要となった場合には、KRClearDebugScreen() 関数を使うことで、ゲーム画面上に表示されたデバッグ文字列を削除できます。iPhone 実機での開発時には、Debug ビルドの際に、指5本タッチで KRClearDebugScreen() 関数を呼び出すようにしておくと、デバッグ作業が行いやすくなります。
KRDebugScreen() 関数は、printf() 関数と同じ書式を使い、複数の引数を伴って呼び出すことができます。
KRDebugScreen() 関数は、Debug ビルドでのみ標準出力に文字列を出力します。Release ビルドでは何も行いません。
ゲーム実行時に何らかのエラーが起きた場合には、KRGameError 例外をスローしてください。この例外はフレームワークによってキャッチされ、メッセージボックスやメッセージシートに適切に表示されます。
if (error) { throw KRGameError("エラーの内容を示す文字列"); }
GameMain クラスのコンストラクタで setShowsFPS() 関数を true を引数にして呼び出すことで、ゲームの実行中に、現在のフレームレートなどの情報を表示することができます。