是否可以修改CCSprite
中CCSpriteBatchNode
的不透明度?
以下似乎不起作用:
((CCSprite *)[batchNode getChildByTag:myTag]).opacity = 0.5;
精灵只是消失而不是显示修改后的不透明度。
答案 0 :(得分:13)
这就是为什么看一下这些类型的好主意。 opacity
的{{1}}属性是GLubyte。看看GLubyte的typedef,我们看到它实际上是unsigned char,这意味着它采用0到255之间的整数值。使用CCSprite
隐式地将浮点值转换为unsigned char,0.5的小数部分被截断,并且sprite .opacity变为0。