倒计时颜色渐变动画效果

时间:2014-01-16 08:37:58   收藏:0   阅读:424

先准备相同大小的红、黄、绿三色图片各一张,实现围绕头像倒计时颜色渐变效果:

bubuko.com,布布扣
    CCSize s = CCDirector::sharedDirector()->getWinSize();

    change = 0;

  //头像 CCSprite
*ava = CCSprite::create("girl.jpg");
  //默认绿色计时条 CCProgressTimer
*left = CCProgressTimer::create(CCSprite::create("b5s.png")); left->setType( kCCProgressTimerTypeRadial );
  //顺时针 left
->setReverseDirection(true);
  //进度条百分比 left
->setPercentage(100); ava->setPosition(ccp(100, s.height/2)); di->setPosition(ccp(100, s.height/2)); addChild(di); addChild(ava); addChild(left, 0, 200); left->setPosition(ccp(100, s.height/2));
  //增加每秒状态更新函数
this->schedule(schedule_selector(HelloWorld::update), 1.0);   //15秒倒计时,状态条从100变0 CCProgressFromTo *from = CCProgressFromTo::create(15, 100, 0); left->runAction(CCRepeatForever::create(from));
bubuko.com,布布扣

 

bubuko.com,布布扣
void HelloWorld::update(float dt)
{
    CCProgressTimer *left = ((CCProgressTimer*)this->getChildByTag(200));
    if ((left->getPercentage() > 67) && (left->getPercentage() < 100) && (0 == change))
    {
        left->setSprite(CCSprite::create("b5s.png"));
        change = 1;
    }
    if ((left->getPercentage() > 33) && (left->getPercentage() < 67) && (1 == change))
    {
        left->setSprite(CCSprite::create("m5s.png"));
        change = 2;
    }
    if ((left->getPercentage() > 0) && (left->getPercentage() < 33) && (2 == change))
    {
        left->setSprite(CCSprite::create("a5s.png"));
        change = 0;
    }

    if(left->getPercentage() == 0)
    {
        left->setPercentage(100);
        change = 0;
    }
}
bubuko.com,布布扣

 

下面看下效果:

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

原文:http://www.cnblogs.com/wow2013/p/3517666.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!