すべてのコードをメインクラスのdraw()メソッドに配置せずに、libcinderを使用して描画できる方法はありますか?私は大きなアプリに取り組んでいますが、すべてを1つのファイルに詰め込むのは決して便利ではありません。
これは、アイデアの例です。
class MyApp : public AppBasic {
public:
void setup ();
void update ();
void draw ();
private:
vector<MyObject> myObjects;
};
MyApp::draw () {
for (int i = 0; i < myObjects.size(); ++i) {
myObjects[i].render ();
}
}
CINDER_APP_BASIC (MyApp, RendererGL)
/* ------------------ */
class MyObject {
public:
void render ();
};
void MyObject::render () {
Rectf rect (0, 0, 20, 20);
gl::drawSolidRoundedRect(rect, 15.0);
}