素材:
实现:
//进度条背景 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());//设置进度条上字的值 } }
结果:
Cocos2d-x进度条倒计时实现
时间: 2024-11-07 17:38:53