Cocos2d-x基础: CCProgressTimer的使用

在游戏中进度条分两类,一种是圆形的CD类(Radial)、一种是方形的血条类(Bar)。

最近项目用到了这个,碰了点小问题,相信也有很多同学碰到了。

其实自己慢慢尝试就可以发现如何使用,但蛋疼的摆渡,搜到的尽是无用的资料。


-------------------------------- 美丽的分割线 ---------------------------------


有情提示:

                如果你不知道如何将一个CCProgressTimer加入到布景层(CCLayer)中,请放弃治疗,赶紧转行尴尬


kCCProgressTimerTypeBar:

	CCSprite *pSp = CCSprite::create("F-fail01.png");
	pBar = CCProgressTimer::create(pSp);
	pBar->setType(kCCProgressTimerTypeBar);
	pBar->setPosition(visibleSize.width/2, visibleSize.height/2);
	pBar->setPercentage(100);
	pBar->setMidpoint(ccp(0,1));
	pBar->setBarChangeRate(ccp(1,0));  
	this->addChild(pBar);
                

setType() : 设置进度条的类型Radial或Bar。

setPercentage() :设置最初的显示比例(0~100)。

setMidpoint() :(0,1) (0,y)等等,进度条的前进方向是从左到右。   (1,0) (x,0) (x,y) 等等,进度条的前进方向是从右到左。

setBarChangeRate() : (1,0)  进度条Y轴方向的大小不改变,(0,1) 进度条X轴方向的大小不改变,(1,1)进度条X,Y轴根据比例同时改变,(0,0)形状不改变。


-------------------------------- 美丽的分割线 ---------------------------------

kCCProgressTimerTypeBar:


	CCSprite *pSp = CCSprite::create("F-fail01.png");
	pBar = CCProgressTimer::create(pSp);
	pBar->setType(kCCProgressTimerTypeRadial);
	pBar->setPosition(visibleSize.width/2, visibleSize.height/2);
	pBar->setPercentage(100);
	this->addChild(pBar);
射线性的CD类进度条 偷笑用起来就比较简单了。无需设置setMidpoint()和setBarChangeRate()。

但默认的是顺时针方向,如果要使用逆时针方向就设置如下:

              pBar->m_bReverseDirection = true;


完。

-------------------------------- 美丽的分割线 ---------------------------------

还是来点福利吧。

游戏中的血条很好制作,首先是一个血条的CCNode,CCNode下面有两个子结点,一个是背景框,一个是CCProgressTimer。

在update()函数中实时监控条件,然后设置CCProgressTimer的比例。(setPercentage())

游戏中的CD也很好制作,首先是一个血条的CCNode,CCNode下面有三个子结点,一个是背景框,一个是CD图标,一个是遮罩CCProgressTimer。

除了在update()中直接设置比例,也可以使用 CCProgressTo动作,这个也比较方便,特别对于不需要实时计算的地方,可以直接设置一个比例,然后播放动画。

剩下的,你懂的~大笑


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值