アニメーションさせてみる
キャプチャ画像なので動きがわかりませんが、画面を中心として、円が回転します。
・参考
yoppa org – openFrameworks入門
Code
変数定義
double angle;//傾きの角度
testApp.cpp内で使える変数として、angleを定義します。
setup
void testApp::setup(){ //背景色 ofBackground(0, 0, 0); //フレームレート ofSetFrameRate(60); //角度を初期化 angle = 0; }
setup()は最初に実行される関数です。背景色、フレームレートを定義します。
update
void testApp::update(){ //角度増加 angle += 1; }
update()は繰り返し実行される関数です。update()された後にdraw()が実行されます。ここではangleの値を増加させています。
draw
void testApp::draw(){ //現在の座標系を保存 ofPushMatrix(); //座標系の(0,0)を画面の中心に ofTranslate(ofGetWidth() / 2, ofGetHeight() / 2); //z軸回転 ofRotateZ(angle); //透明度を使用可能にする ofEnableAlphaBlending(); //混色を加算混食に glBlendFunc(GL_ONE, GL_ONE); //塗り ofSetColor(100, 100, 100); //円 ofEllipse(30, 30, 100, 100); //座標系を復元 ofPopMatrix(); }
draw()では描画に関係ある命令を書きます。ここでは座標系を移動させて、相対的に円の位置を決めています。座標の変換ができるのはoFの強みなのかもしれません。円の位置を定義するのがわかりやすいです。