coco2dx 学习笔记 -- 进度动画 ccProgressTimer ccProgressTo ccProgressFromTo

前端之家收集整理的这篇文章主要介绍了coco2dx 学习笔记 -- 进度动画 ccProgressTimer ccProgressTo ccProgressFromTo前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

猜你在找的Cocos2d-x相关文章