小羊驼和你一起学习cocos2d-x之三(进度条、CCProgressTimer)

本文介绍如何使用Cocos2d-x中的CCProgressTimer类创建从左到右的进度条效果,并提供了具体的代码实现。通过设置midpoint和barChangeRate属性,可以轻松调整进度条的方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎转载:请保留原文出处

http://blog.youkuaiyun.com/linyongliang?viewmode=list

typedef enum {

/// Radial Counter-Clockwise

kCCProgressTimerTypeRadial,

/// Bar

kCCProgressTimerTypeBar,

} CCProgressTimerType;



CCProgressTimer有别的方法实现 从左到右的进度条

pt->setMidpoint(ccp(0,0));

pt->setBarChangeRate(ccp(1,0));

这两个组合起来就可以了


直接上代码吧: 

		pt=CCProgressTimer::create(CCSprite::createWithSpriteFrameName("LoadingBar.png"));//进度条的精灵  
		pt->setPercentage(0); //开始的百分比位置 最大默认好像是100 
		pt->setPosition(ccp(pointCenter.x,pointCenter.y*0.5f)); 
		pt->setType(kCCProgressTimerTypeBar);//进度条的类型 大约有两种 请看那个枚举类型。这个是横条的
		pt->setMidpoint(ccp(0,0));
		pt->setBarChangeRate(ccp(1,0));
		this->addChild(pt,100);
//你可以通过不断setPercentage来设定进度条的进度 
void LayerPlay::updateProgress(float dt)
{
	if (progressIndex<100)
	{
		if (progressIndex<=progressMax)
		{
			progressIndex+=0.5f;
			pt->setPercentage(progressIndex);
		}
	}
	else
	{
		this->removeChild(pt,true);
		this->removeChild(spriteLoadingBackgroud,true);
		this->removeChild(spriteLoading,true);
		this->unschedule(schedule_selector(LayerPlay::updateProgress));
	}
}//也可以给他跑进度条的动作 CCProgressTo *to = CCProgressTo::actionWithDuration(cd_Time, mPercentage);  // 设定CD时间与要到达的百分比 pt->runAction(to); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值