Изменить цвет всего на экране - Cocos2d - PullRequest
1 голос
/ 08 мая 2011

У меня есть кнопка / метод паузы (не самая лучшая, но она работает). В настоящее время я изменяю непрозрачность ВСЕГО на экране, когда оно находится в режиме паузы, что не то, что я хочу делать, но это работает (и это боль). У кого-нибудь есть лучший способ изменения яркости всего на экране одновременно?

например. когда вы ставите паузу на «Angry Birds» (единственная игра, о которой я только мог подумать), на главной сцене появляется прозрачное черное наложение.

Вот мой код

-(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 Ответ

6 голосов
/ 09 мая 2011

Чтобы наложить цветное наложение поверх слоя, просто добавьте ..

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

Первые три числа - это цвета "RGB", а последнее - непрозрачность.Каждый из них может иметь значение в диапазоне от 0 до 255.

EG

layerWithColor:ccc4(Red, Green, Blue, Opacity)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...