「がんばれない」けど「がんばりたい」

ITエンジニアの仕事のこと。AI、機械学習、ディープラーニング。地頭力。車のこと。

openframeworks 議事録 ofxControlPannel

【課題】 ofxControlPannelを使って、変数値をリアルタイムに変更する。

1)アドオンとして追加 2)基本セッティング 3)コードレビュー

=====

1)アドオン ofxControllPanelはoFの基本アドオンとして入っていないので、 ここからDLしてくる。 ※ oF007でバグが出ないバージョン

あと、ofxDirListofxXmlSettingが必要なので、 合計3つのアドオンをプロジェクトに追加します。

2)基本セッティング ofxControlPanel gui; として、インスタンスを宣言。

●setup

// パネルの位置大きさを定義
gui.setup("control pannel test", 50, 50, 340, 500);

// パネルを追加 パネル名、カラム数、ロックする/しない
gui.addPanel("pannel 1", 1, false);

// スライダを追加 画面説明用文字列、コード内参照文字列、位置/大きさ、値がintかどうか?
gui.addSlider("rect size", "size", 100, 40, 800, false);
gui.addSlider("rotate x", "rot_x", 0, 0, 360, false);
gui.addSlider("rotate y", "rot_y", 0, 0, 360, false);
gui.addSlider("rotate z", "rot_z", 0, 0, 360, false);

// このxmlファイルに値を書き込みする(のかな?)
gui.loadSettings("controllPannel.xml");

●マウスイベント:これ実装してないと値を変更できませんっすw

//--------------------------------------------------------------
void testApp::mouseDragged(int x, int y, int button){
gui.mouseDragged(x, y, button);
}

//--------------------------------------------------------------
void testApp::mousePressed(int x, int y, int button){
gui.mousePressed(x, y, button);
}

//--------------------------------------------------------------
void testApp::mouseReleased(int x, int y, int button){
gui.mouseReleased();
}

3) 値の利用は、gui.getValueF(“rot_x”)の様に、getValueF等のメソッドで取得可能。

いろいろなgui上で変数値を変更できるアドオンが出ているので、 いくつか試してみよう。

ofxControlPanel Example from Kazuyoshi Ueno on Vimeo.