实现精度条
CCProgressTimer *progress = [CCProgressTimer progressWithSprite:[CCSprite spriteWithFile:@"progressbar-hd.png"]]; progress.position=ccp( size.width /2 , size.height/2); [self addChild:progress z:0 tag:90]; progress.scale = 0.5; progress.midpoint = ccp(0,0.2); progress.barChangeRate = ccp(1, 0); progress.type = kCCProgressTimerTypeBar; [self scheduleUpdate];
-(void)update:(ccTime)himi{ CCProgressTimer*ct=(CCProgressTimer*)[self getChildByTag:90]; ct.percentage++; if(ct.percentage>=100){ ct.percentage=0; } }
这样就可以在屏幕的上显示一个从左向右滚动的进度条,实际上是从左往右显示一个图片。
解释一下:
1、midPoint:表示进度条动画的起始位置,默认是在图片的几何中心。我们是想要显示从左向右的动画效果,那么就要修改这个值为(0,y)。
2、barChangeRate:表示水平和垂直方向的变化比例,1:改变;0:不变。显然我们这里需要改变的是水平方向,而不需要垂直方向。设为(1,0)。
3、进度条有两个属性:percentage和type,前者表示当前进度条的进度值,初始为0;后者表示进度条类型,有两种类型:
kCCProgressTimerTypeBar :条形
kCCProgressTimerTypeRadial :圆形
想让一个进度条正常显示出来,那么需要percentage!=0才行,一般都会在一个不断刷新的函数中让其进度条不断++,进而实现其进度条功能。
这里使用[self scheduleUpdate];在update方法中出来percentage++的问题。