素材:
實現:
//進度條背景
CCSprite *progressbgSprite;
progressbgSprite = CCSprite::create("time_slot-hd.png") ;
progressbgSprite->setAnchorPoint(ccp(0,0)); //修改定點對應點
progressbgSprite->setPosition(ccp(0, size.height-22));
progressbgSprite->setScaleX(0.4f);
progressbgSprite->setScaleY(0.7f);
this->addChild(progressbgSprite, 1);
progressbgSprite->setVisible(true);
//進度條正面紅條
CCSprite *progressSprite = CCSprite::create("time_bars-hd.png");
progress = CCProgressTimer::create(progressSprite);//創建進度條
progress->setAnchorPoint(ccp(0,0));
progress->setType(kCCProgressTimerTypeBar); //中間爲從左向右的進度條,類型爲水平
progress->setScaleX(0.4f);
progress->setScaleY(0.7f);
progress->setPosition(ccp(0,size.height-22));
//進度動畫運動方向
progress->setMidpoint(ccp(0,0));
//進度條寬高變化
progress->setBarChangeRate(ccp(1,0)); //設置進度條爲從左向右隨進度增長而顯現
progress->setPercentage(100.0f);//值
this->addChild(progress,1);
progress->setVisible(true);
讓進度條1秒減一點,直到爲0
void Game::update(float dt)
{
int cu=progress->getPercentage(); //獲取進度條的值
if (cu > 0)
{
cu=cu-1.0f;
progress->setPercentage(cu); //設置進度條的值
CCString *str = CCString::createWithFormat("%d",cu);
numsTTF->setString(str->getCString());//設置進度條上字的值
}
}
結果: