现在的位置: 首页 > 综合 > 正文

Cocos2D-iphone 开发之(8) 实现进度条

2013年09月07日 ⁄ 综合 ⁄ 共 911字 ⁄ 字号 评论关闭

实现精度条


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++的问题。


抱歉!评论已关闭.