変数の値を見る
変数の値を表示する方法は、いくつかあります。
コンソールに出力
下記のサンプルは、コンソールに出力する方法について説明しています。
std::cout を使う
おそらく、一番簡単な方法は、std::cout を使うやり方でしょう。このコマンドは、異なる型の値を文字列として連結させることができます。endl
を追加すると改行します。
float value = 0.2;
std::cout << "value: " << value << endl;
出力 :
value: 0.2
std::printf を使う
printf は、あらゆる種類の出力フォーマットで出力させることができます。%f
はfloat型の値を追加する場所になります。%.0f
や %.3f
は、小数点以下の数を指定します。\n
は改行です。詳細は、リファンレンス と下記のサンプルを参照してください。
float value = 0.2;
std::printf("value: %f\n", value);
std::printf("value: %.0f\n", value);
std::printf("value: %.3f\n", value);
出力 :
value: 0.200000
value: 0
value: 0.200
ofLog() を使用する
openFrameworksのワークフローとの統合で最適な方法は、ログ用に実装された関数を使うことです。様々なログのレベルといくつかの使用法があります。詳細は ofLog() documentation を参照してください。以下のように使用します。
float value = 0.2;
ofLogNotice() << "value: " << value;
出力 :
[notice ] value: 0.2
ログのメッセージをファイル出力することもできます。
ofLogToFile("myLogFile.txt", true);
// 以下全てのログは、myLogFile.txtに追加されます
グラフィカルな出力
テキストを描画する
スクリーンにテキストを描画する方法は簡単です。
void draw() {
ofBackground(ofColor::black);
}
void draw() {
float value = 0.2;
ofSetColor(ofColor::white);
ofDrawBitmapString("value: " + ofToString(value), 10, 10);
}
ofxGui を使う
変数の値を表示する別の方法として、ofParameter とコア・アドオンの ofxGui を組み合せる方法があります。プロジェクトにアドオンを追加する方法にofxGuiをどのようにプロジェクトに追加するのかの詳細があります。
ヘッダーファイルで、ofParameter をつかって変数をラップ(別の型に包括)します。これまでと同じように、この変数を使うことが可能です。それだけでなく、変数のリスナーを追加したり、変数の値に呼応するGUIを追加することができます。
//ofApp.h
#include "ofxGui.h"
#include "ofMain.h"
class ofApp : public ofBaseApp {
..
ofParameter<float> value;
ofxPanel gui;
}
このソースのように、変数に名前をつけて、デフォルト値と最大/最小の範囲(変数が数値の場合)を決めることができます。GUIを表示するには、setupをして値を追加する必要があります。これで、変数の値に呼応させることができます。
//ofApp.cpp
void setup() {
value.set("value", 0.2, 0, 1); // name, default value, min, max
gui.setup();
gui.add(value);
}
void draw(){
gui.draw();
}