2012-08-02 21 views
2

我想繪製一些自定義的opengl元素,如ccdrawline()。根據cocos2d文檔,我應該重寫draw()方法在我的子類層中繪製我的東西。但它不起作用。雖然如果我重寫visit()方法,我可以看到我想畫的東西。我對此感到困惑,我正在尋求解決這個問題的想法。CCNode重寫draw()方法不起作用

我做了這樣的:

- (void)draw 
{ 
    [super draw]; 
    CGPoint a = ccp(0,0); 
    CGPoint b = ccp(480,320); 
    ccDrawLine(a,b); 
} 

回答

3

你的代碼是正確的,它應該工作。但我隱約記得,繪圖並不需要CCLayer類。無論哪種方式,繪製或訪問實際上是相同的方法,所以只需使用任何工作。

+0

對不起,這麼晚才確認。你是對的,我在一個圖層和一個節點上做了一個ccdrawline()測試。節點的draw()方法起作用,而層不起作用。感謝您的幫助〜 – analysiser 2012-08-08 05:55:17

0

難道是因爲你缺少說明如何畫線的方法嗎?值得一試。

// Set color 
glColor4f(0.5, 0.5, 0.5, 1.0); 

// Set line width 
glLineWidth(6.0f);