Как создать прозрачный ccscene в cocos2d? - PullRequest
4 голосов
/ 25 мая 2011

Мне нужно показать ccscene на паузе игры.Но это должно быть прозрачно.Может кто-нибудь, пожалуйста, помогите мне с этим ??

Спасибо,

Anks

Ответы [ 2 ]

4 голосов
/ 25 мая 2011

Я предлагаю вам не создавать отдельную сцену для слоя паузы.Что вы можете сделать, так это создать слой, похожий на HUD Layer .
Второй вариант будет выглядеть примерно так: this . Просто не устанавливайте цвет фона слоя.
Надеюсь, это поможет.

2 голосов
/ 30 сентября 2011

Я знаю, что у вас уже есть ответ, но вы хотели поделиться своим решением, потому что я перешел по этой ссылке при исследовании той же проблемы. Я также разместил это на форумах cocos2d.

- (void)pauseSchedulerAndActionsRecursive:(CCNode *)node {
    [node pauseSchedulerAndActions];
    for (CCNode *child in [node children]) {
        [self pauseSchedulerAndActionsRecursive:child];
    }
}

- (void)resumeSchedulerAndActionsRecursive:(CCNode *)node {
    [node resumeSchedulerAndActions];
    for (CCNode *child in [node children]) {
        [self resumeSchedulerAndActionsRecursive:child];
    }
}

У меня есть одна сцена и два слоя, слой сцены / геймплея и слой меню. Мои меню анимировались внутри и снаружи, и я хотел, чтобы мое меню паузы могло также анимировать входы и выходы. Поэтому я просто добавил вышеупомянутые функции к своему уровню сцены / геймплея. Затем, когда пользователь нажимает паузу, я вызываю pauseSchedulerAndActionsRecursive: на моем уровне stage / gameplay и добавляю слой меню в сцену сверху. Мое меню поглощает все касания, поэтому касание также отключено на уровне сцены / геймплея, пока слой меню открыт. Затем просто вызовите resumeSchedulerAndActionsRecursive: метод для возобновления. Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...