cocos2d之,建立乙個有背景顏色的layer

2021-06-19 07:06:10 字數 1369 閱讀 4376

建立乙個帶有背景顏色的layer,我們需要用到cclayer的乙個派生類cclayercolor,看如下**:

ccsize s = ccdirector::shareddirector()->getwinsize();

cclayer *layer = cclayercolor::create(ccc4(0xff, 0x00, 0x00, 0x80), 200, 200);

layer->ignoreanchorpointforposition(false);

layer->setposition(s.width / 2, s.height / 2);

this->addchild(layer, 1, layer->gettag());

在這裡用到了ccc4這個函式,我們看函式原型:

static inline cccolor4b

ccc4(const glubyte r, const glubyte g, const glubyte b, const glubyte o)

cccolor4b是乙個結構體:

typedef struct _cccolor4b

cccolor4b;

cccolor4b是個結構體,由r、g、b、a四個引數組成(a是透明度,即alpha),但和cccolor3b不同的是,它們都是浮點數,取值範圍為0~1(1就相當於glubyte的255)。squarecolors_的作用是充當opengl繪製顏色的引數,因為gl的api需要浮點數,所以cccolor3b不能直接用於繪製,當層的顏色發生變化時,squarecolors_會根據color_和opacity自動換算。

下面還可以通過ccblendfunc來改變背景層的顏色:

cclayercolor *layer1 = cclayercolor::create(ccc4(255, 0, 0, 100), 300, 200);

cclayercolor *layer2 = cclayercolor::create(ccc4(255,255,0,110), 100, 100);

addchild(layer1);

layer1->addchild(layer2);

layer1->ignoreanchorpointforposition(false);

layer1->setanchorpoint(ccp(0.5, 0.5));

layer1->setposition(ccp(250, 220));

ccblendfunc bf = ; //這裡定義背景的顏色

layer1->setblendfunc(bf);

cocos2d之持續動作(一)

持續動作 move jump scale rotate skew blink fade to,in,out fadein從透明到不透明 tint 公用 ccsize s ccdirector shareddirector getwinsize ccsprite sp ccsprite create ...

Cocos2d開發系列 一

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!當前最新版本為1.0。本教程選用的是穩定版本0.99.5。install templates.sh檔案,這個就是cocos2d的安裝指令碼。你可以直接在終端裡執行這個指令碼進行安裝,但如果你的xcode沒有安裝在預設目錄 下,則你需要在命令中新增乙...

iphone開發之Cocos 2D簡介

寫這個東西其實不是介紹如何用cocos 2d開發,只是介紹性的入門知識,這個東西不是一篇文章就可以搞清楚,都是需要自己去不懈的努力學習。相關的網頁 是乙個開源框架,利用它可以非常容易的在 iphone 上開發2d 遊戲。它提供了物理,精靈 sprites 時差卷軸 parallax scrollin...