1
在CCSpriteBatchNode
中的不透明度是否可以修改?更改CCSpriteBatchNode中CCSprite的不透明度
下似乎並沒有工作:
((CCSprite *)[batchNode getChildByTag:myTag]).opacity = 0.5;
的精靈就這樣消失出改良的不透明度高達代替。
在CCSpriteBatchNode
中的不透明度是否可以修改?更改CCSpriteBatchNode中CCSprite的不透明度
下似乎並沒有工作:
((CCSprite *)[batchNode getChildByTag:myTag]).opacity = 0.5;
的精靈就這樣消失出改良的不透明度高達代替。
這就是爲什麼查看類型是個好主意。 opacity
CCSprite
的財產是GLubyte。看看GLubyte的typedef,我們看到它實際上是無符號字符,這意味着它取整數值從0到255.使用sprite.opacity = 0.5
,您將浮點值隱式轉換爲無符號字符,0.5的小數部分被截斷,並且sprite.opacity變爲0 。
批處理節點的紋理是什麼類型的紋理?如果它沒有alpha通道(例如RGB565),則任何不透明度<1都會導致精靈消失,因爲沒有Alpha通道,所以它可能完全不透明或不透明。 – LearnCocos2D 2012-08-07 22:16:42
看起來像是'kCCTexture2DPixelFormat_RGBA8888'。 – SundayMonday 2012-08-08 01:04:49
也在sprite上運行'CCFadeOut'。 – SundayMonday 2012-08-08 01:10:16