cocos2d-x學(xué)習(xí)筆記之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex場景層介紹
更新時間:2014年09月11日 09:19:17 投稿:junjie
這篇文章主要介紹了cocos2d-x學(xué)習(xí)筆記之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex場景層介紹,需要的朋友可以參考下
圖層在cocos2d-x中很重要,我們可以在其中添加精靈,也可以將圖層添加到場景中。這幾個圖層類功能各不相同,具體的看代碼的注釋。大家只需要替換掉helloworld中的init函數(shù)就可以運行了。
bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! <a href="http://www.dbjr.com.cn/" title="View all posts in CCLayer" class="tag_link">CCLayer</a>::init()); //CCLayerColor繼承自CCLayer,CCLayerColor有顏色,所以在create的時候需要傳入?yún)?shù),ccc4是一個宏定義,參數(shù)是r,g,b,o(o就理解為透明值吧255表示不透明) CCLayerColor * color = CCLayerColor::create(ccc4(255,0,0,255)); //this->addChild(color); //CCLayerGradient繼承自CCLayerColor,它有重載的三個create函數(shù),傳入倆個參數(shù)的時候從第一種顏色漸變到第二種顏色,方向是從上到下漸變 CCLayerGradient * gradient = CCLayerGradient::create(ccc4(255,0,0,255),ccc4(0,255,0,255)); this->addChild(gradient); //以下是CCLayerGradient的第三個重載函數(shù),第三個參數(shù)表示的是漸變的方向,是一個向量,這里是ccp(1,0)當(dāng)然就是從左往右漸變了,如果不理解,請參照坐標(biāo)系統(tǒng) CCLayerGradient * gradientT = CCLayerGradient::create(ccc4(255,0,0,255),ccc4(0,255,0,255),ccp(1,0)); //this->addChild(gradientT); //繼承自CCLayer,可以包含多個圖層,這些圖層可以作為參數(shù)添加進(jìn)來,最后以NULL結(jié)束代表圖層添加完畢 //它可以管理多個層,并實現(xiàn)不同層間的切換,但是同一時間只能有一個層是激活狀態(tài),其他都是不可見的。 CCLayerMultiplex * multiplex = CCLayerMultiplex::create(color,gradient,gradientT,NULL); //運行這句話的時候請注釋掉上邊的addChild函數(shù),否則一個圖層被添加了倆次會出現(xiàn)錯誤的 //this->addChild(multiplex); //默認(rèn)情況下會顯示第一個圖層,使用如下的方法可以改變 //multiplex->switchTo(0); //以下這句話會釋放掉圖層0,并且轉(zhuǎn)換到圖層1,但這個函數(shù)這里不能使用,因為會釋放掉圖層0,而圖層0不是同過new出來的,這是cocos2d-x的內(nèi)存管理機(jī)制 //multiplex->switchToAndReleaseMe(1); bRet = true; } while (0); return bRet; }
相關(guān)文章
Cocos2d-x 3.x入門教程(二):Node節(jié)點類
這篇文章主要介紹了Cocos2d-x 3.x入門教程(二):Node節(jié)點類,本文對Node節(jié)點類做了一個簡明講解及Node類提供的函數(shù)做了說明,需要的朋友可以參考下2014-11-11