ccProgressTimer 是进度条类,代表了一个进度条,进度条,分两种,一种是条形的进度条,一种是圆形的进度条。
ccProgressTo 是进度动画类,从零播放到指定的进度
ccProgressFromTo 是进度动画类,可以设定进度播放的起点和终点。
播放一个进度动画的标准代码:
CCSprite *pSpr = CCSprite::create( "bar.png" ); CCProgressTimer *pProgress = CCProgressTimer::create( pSpr ); pProgress->setType( kCCProgressTimerTypeBar ); pProgress->setPosition( m_VisibleRect.size.width/2,m_VisibleRect.size.height/2 ); pProgress->setMidpoint( ccp( 0.0f,0.0f ) ); pProgress->setBarChangeRate( ccp( 1.0f,0.0f ) ); CCProgressTo *to = CCProgressTo::create( 2.0f,100.0f ); addChild( pProgress,999,111 ); pProgress->runAction( CCRepeatForever::create( to ) );
setMidPoint,设置中点位置。
说明:进度条内部的实现方式,是每次更新时,分别计算中点左边和终点右边部分的坐标(各占进度的一半)。
所以,当中点设置在(0,0)的时候,进度条是自左向右的。
当中点设置在(1,0)的时候,进度条是自右向左的。
当中点设置在0和1之间的时候,进度条会呈现出想左右扩展的效果。
以上是,x坐标改变时的情况。 y坐标改变时,也是同理。
setBarChangeRate, 设置进度条改变参数,取值【0-1】。
这个参数,这个参数控制进度条改变的速率,还控制进度条从百分之多少的位置开始变化(其实是1.0 - 参数)。(这样的设置是为了平衡进度条的改变速率)
具体进度条更新的公式为,
1.0 - BarChangeRate + percentage*BaseChangeRate