2014-09-10 44 views
0

我想在代碼中設置一個顏色疊加在一些CCSprites上,就像使用Spritebuilder所做的那樣 - 它在圖像上放置了一個顏色疊加層。但是,所有我能找到這樣做是在CCSprite上設置顏色疊加 - Spritebuilder/Cocos2d

sprite.color = CCRed; 

當我這樣做,我得到以下錯誤:

Assigning to 'CCColor' *from incompatible type 'const ccColor3B' aka ('const struct _ccColor3b') 

如何設置在CCSprite顏色疊加?

+0

「顏色疊加」是什麼意思?您是否正在尋找在給定區域上添加彩色矩形(使用CCColorNode)還是僅想要着色(淡入淡出)的實際像素而不是透明區域?在這種情況下,按照伊夫的回答。 – LearnCocos2D 2014-09-11 07:56:25

回答

1

您試圖將一個常量結構賦值給一個對象。相反,嘗試:

sprite.color = [CCColor colorWithCcColor3b:ccRED]; 

sprite.color = [CCColor redColor]; 

將擺脫特定錯誤的。但是,我不確定它會「複製」在SpriteBuillder中實現的渲染。有很多方法可以爲節點着色。

+0

完美地工作。謝謝 – Allreadyhome 2014-09-11 10:32:17

0

我不使用SpriteBuilder(或尚未),所以我不能告訴你它是如何實現的。有CCActionTintTo api doc,但如果失敗,你可以做很多不同的方式,包括新的v3.2着色器。 CCColor here的API文檔提供了一系列選擇顏色的方法。紅色是+(CCColor *)redColor