cocos2d-x2.2.4 进度条实现

开发环境:cocos2d-x 2.2.4

CCProgressTimer 进度条 不仅可以作为进度条 同时CCProgressTimer可以实现一些图片的特效效果。


// 头文件中需要添加相应变量
// GameLayer.h  文件

using namespace cocos2d;
// GameLayer布景类
class GameLayer : public cocos2d::CCLayer
{
	// . . . 部分代码省略
public:
	CCProgressTimer* _progressTimer; // 分数进度条
};


// 实现文件中添加相应的方法
GameLayer.cpp 文件

// init() 初始化的方法中新增代码
bool GameLayer::init()
{
	// 设置分数进度条
	CCSprite* sprite1 = CCSprite::creat("pic/task/gk_jindutiao.png");
	_progressTimer = CCProgressTimer::creat(sprite1);
	_progressTimer->setType(kCCProgressTimerTypeBar);	// 设置进度条为水平
	_progressTimer->setMidpoint(ccp(0,0));				// 可以看作是按矩形显示的进度条类型
	_progressTimer->setPercentage(0.0f);				// 设置初始化百分比的值
	_progressTimer->setBarChangeRate(ccp(1,0));			// 用来设定进度条横向前进的方向从左向右或是从右向左
	_progressTimer->setAnchorPoint(ccp(0,0));			// 设置锚点
	_progressTimer->setPosition(ccp(20, 0));
	backageGroundTop->addChild(_progressTimer, 5);

	// 得分进度条
	this->schedule(schedule_selector(GameLayer::UpdateScoreProgress),1.0f);// 回调方法
}

// 得分进度条
void GameLayer::UpdateScoreProgress(float dt)
{
	// 当前所获得的分数_score 占总分数的百分比。
	float ct2 = _score/_taskInfo.GetThreeStartScore() * 100.0;
	// 设置分数的百分比
	_progressTimer->setPercentage(ct2);
}


你可能感兴趣的:(cocos2d-x2.2.4 进度条实现)