タイトルがわかりにくかったら申し訳ありませんが、もっとよく説明できるように努めます。私は c++ にあまり詳しくなく、初めて openFrameworks を使用しています。私はおそらく非常に簡単なことをしようとしています.少なくとも他の言語ではそうですが、私はそれを行うことができません:(
クラス Video があり、その中にオブジェクトlist<ofImage> keyFrames;
と、次のように対話するためのいくつかのメソッドがあります。
void addKeyFrame(ofImage img) {
if(keyFrames.size() == 0) {
keyFrames.push_front(img);
}
else {
keyFrames.push_back(img);
}
}
list<ofImage> * getKeyFrames() {
list<ofImage> *list = &keyFrames;
return list;
}
void clearKeyFrames() {
keyFrames.clear();
}
他のクラスにはいくつかの Video オブジェクトがありaddKeyFrame(ofImage img)
、各オブジェクトのリストを埋めるために使用する関数があります。その関数の最後で、リストのサイズを出力すると、ゼロより大きくなります。
関数内draw()
で各 Video オブジェクトを反復処理し、keyFrame リスト内に各画像を描画しようとしますが、リストは常に空で、画像で埋めただけです...getKeyFrames()
関数を使用してリストへのポインターを返します。別の関数でオブジェクトを追加したばかりで、サイズがゼロより大きいことを確認した場合、どうして空になるのでしょうか? そして、アプリケーションをデバッグしようとすると、さらに途方に暮れます (笑)。
さらに情報が必要な場合、および私が間違っていることを知っている場合は教えてください。ありがとう!