coco2dx 学习笔记 -- 进度动画 ccProgressTimer ccProgressTo cc
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |