android CCLayColor重載draw遇到的問題解決方案
?? ????? 本來想著使用CCLayerColor,建立一個帶有顏色的Layer,作為背景,然后,筆者想在這個layer當中畫出幾條線,但是這時候就遇到了問題了。因為我一旦重載draw函數(shù),我發(fā)想之前的CCLayColor已經(jīng)初始化為一種顏色就失效了。這時候我就很困惑了....不知道大家有沒有遇到過,這種問題....
??????? 最終我是沒有完美解決這個問題,最后我只能退而求其次。首先,我不再使用CCLayerColor作為基類了,然后我在draw函數(shù)當中使用劃白色線的方式將整個屏幕化成了白色。
首先在GameScene.h文件中進行draw函數(shù)的聲明
class?CGameScene:public?CClayer { ?virtual?void?draw(); }
然后重要的是,對于draw函數(shù)的定義,該函數(shù)在每幀重繪的時候進行調(diào)用,不需要人工干預(yù)。該函數(shù)的定義如下:
void?CGameScene::draw()?{ CCSize?winSize?=?CCDirector::sharedDirector()->getWinSize(); //將整個屏幕畫成白色 ccDrawColor4B(255,0xff,0xff,0xff); glLineWidth(10); for(int?i=0;igetVisibleSize(); ccDrawLine(ccp(0,?s.height?*?0.79),?ccp(s.width?*?0.5,?s.height?*?0.79)); ccDrawLine(ccp(0,?s.height?*?0.71),?ccp(s.width?*?0.5,?s.height?*?0.71)); }
這樣,就利用draw函數(shù),我們就將背景色變?yōu)榱水敵踉O(shè)定的顏色。