更改图层颜色的操作?

时间:2015-06-02 10:13:39

标签: cocos2d-x

我的游戏包含一个LayerColor场景。但是,当我在“级别”之间转换时,我想通过平滑过渡来更改背景颜色。

例如,如果  级别1的rgb值是(100,50,70),并且  2级的rgb值为(200,30,123)。

在几秒钟的时间内,我想慢慢地将图层颜色的rgb值从1级值修改为2级值。

是否可以使用cocos2d操作执行此操作?

编辑:

我不想给我的图层中的所有孩子着色。 我的场景是图层颜色类型:

class MyScene : public cocos2d::LayerColor

在Init中我设置了颜色:

bool MyScene::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !LayerColor::initWithColor(Color4B(10, 20, 200, 255) )) {
        return false;
    } ....

我不想整个场景。我只想改变颜色。

1 个答案:

答案 0 :(得分:2)

使用cocos2d::TintTo操作:

auto layer = cocos2d::LayerColor::create(cocos2d::Color4B(100, 50, 70, 255));
...
layer->runAction(cocos2d::TintTo::create(2.0, 200, 30, 123));