我是iphone编程新手,我是从cocos2d开始的。我想知道是否有一种方法可以一次为多个精灵设置不透明度?我注意到CCLayer没有实现不透明度,并且不透明度似乎不会向下传播到CCSprite类的子类。
是否有更好的方法来做到这一点,而不是在自定义ccnode上重写setOpacity,并逐个迭代和设置不透明度?或者重写绘制并手动设置混合模式?
谢谢!
你可以循环遍历场景中的所有精灵,检查它们是否是你想要的精灵,然后像这样设置它们的不透明度(假设你在创建精灵时将它们的标签设置为OPACITY_SPRITE_TAG)
for(CCSprite* sprite in [self children])
{
if([sprite tag] == OPACITY_SPRITE_TAG)
{
[sprite setOpacity:NEW_OPACITY];
}
}
你就不能通过你想要改变的精灵数组来增加吗?比如:
for(int i = 0; i < [myArray count]; i++){
CCSprite *mySprite = [myArray objectAtIndex:i];
[mySprite setOpacity:100];
}