改变屏幕上的一切颜色 - Cocos2d

时间:2011-05-08 16:24:10

标签: iphone cocos2d-iphone

我有一个暂停按钮/方法(不是最好但是有效)。目前,当我暂停时,我正在屏幕上改变一切的不透明度,这不是我想做的,但它有效(并且很痛苦)。有没有人有更好的方法同时改变屏幕上所有内容的亮度?

E.G。 当你暂停“愤怒的小鸟”(我现在只想到的游戏)时,主场景上会有一个透明的黑色覆盖。

这是我的代码

-(void) Pause:(ccTime)delta
{
    Bag.opacity = 150;
    ScoreH.opacity = 150;
    TimerH.opacity = 150;
    leftB.opacity = 150;
    rightB.opacity = 150;
    bg.opacity = 150;
    scoreLabel.opacity = 150;
    timeLabel.opacity = 150;

    [[CCDirector sharedDirector] pause];

    CCLOG(@"Game Paused");
}

此外,我的大部分精灵都来自精灵表。我不知道这是否有帮助。 任何帮助是极大的赞赏。提前谢谢!

哇...我一直在寻找一个月的答案,在我问这个问题之后我决定再次搜索它......我找到了它。

请原谅我的愚蠢......

CCLayerColor* colorLayer = [CCLayerColor layerWithColor:ccc4(0, 0, 0, 100)];
[self addChild:colorLayer z:0];

前三个数字是“RBG”颜色,最后一个数字是不透明度。

1 个答案:

答案 0 :(得分:6)

要在图层顶部放置颜色叠加层,只需添加..

CCLayerColor* colorLayer = [CCLayerColor layerWithColor:ccc4(0, 0, 0, 128)];
[self addChild:colorLayer z:0];

前三个数字是“RGB”颜色,最后一个数字是不透明度。每个都可以具有0到255之间的值。

E.G。

layerWithColor:ccc4(Red, Green, Blue, Opacity)