1

可以修改aCCSprite中的不透明度吗?CCSpriteBatchNode

以下似乎不起作用:

((CCSprite *)[batchNode getChildByTag:myTag]).opacity = 0.5;

精灵只是消失了,而不是显示修改后的不透明度。

4

1 回答 1

13

这就是为什么查看类型是个好主意。opacity的属性CCSprite是 GLubyte。查看 GLubyte 的 typedef,我们看到它实际上是 unsigned char,这意味着它需要从 0 到 255 的整数值。随着sprite.opacity = 0.5您将浮点值隐式转换为 unsigned char,0.5 的小数部分被截断,并且 sprite.opacity 变为 0。

于 2012-08-08T01:28:19.247 回答