2014-03-31 43 views
0

當我的程序開始時,它必須在背景上顯示一個圓。我也必須控制所有的顯示圈。爲此,我使用class VertexControllerclass Vertex。在Vertex我有構造函數:Cinder中的Lib Cinder方法設置{} in CINDER_APP_BASIC

Vertex::Vertex(const ci::Vec2f & CurrentLoc){ 

    vColor = Color(Rand::randFloat(123.0f),Rand::randFloat(123.0f),Rand::randFloat(123.0f)); 
    vRadius = Rand::randFloat(23.0f); 
    vLoc = CurrentLoc; 
} 

VertexController我有

VertexController::VertexController() 
{ 
    Vertex CenterVertex = Vertex(getWindowCenter()); 
    CenterVertex.draw(); // function-member draw solid circle with random color 
} 

setup{}方法我寫

void TutorialApp::setup(){ 
    gl::clear(Color(255,204,0)); 
    mVertexController=VertexController(); 
} 

Unfrtunatelly,我的路didnt幹活看到的只是背景。 所以主要問題 - 在CINDER_APP_BASIC繪圖中只能直接繪製{},更新{},設置{}。如果是,建議一個解決方案,否則說我的失敗在哪裏。

回答

1

這行代碼沒有任何意義,我:

mVertexController=VertexController(); 

不管怎麼說,你應該使用draw()函數只是爲了畫圓到窗口。這就是爲什麼默認情況下有gl::clear(Color(0,0,0));來清除背景並開始從頭開始繪製新框架(這是在Cinder中默認使用的OpenGL繪圖方式)。

我建議使用Vector容器儲存各界(這樣你就可以添加和一些努力飛刪除圈子),加入VertexController構造函數中的第一個,並進行獨立的功能VertexController::draw()繪製使用各界循環。

+0

這是有用的嗎? – sphere42