openFrameworksでフレームごとにランダムな値をつかって描画するプログラムを書くと、静止画を作れなくて困ります。
一度配列に値をいれてしまって毎回その配列から読み出す、とかも考えられますが、さくっと書くには面倒です。draw関数内に一回だけ実行するようにしたとしても、すぐ消えてしまいます。
以下のように書けば静止画の描画を何度も好きなタイミングで行えます。
これでグラフィックデザインでもopenFrameworksが大活躍!
ofApp.h
class ofApp : public ofBaseApp{
public
void draw_once();
bool once;
}
ofApp.cpp
void ofApp::setup(){
once = true;
// フレーム更新時に前のフレームで描画したものを消さない
ofSetBackgroundAuto(false);
}
void ofApp::draw(){
if(once){
draw_once();
once = false;
}
}
void ofApp::draw_once(){
// ここに描画するプログラムを書く
}
void ofApp::keyPressed(int key){
once = true;
}