//
// SpriteProgressToRadial
//
//------------------------------------------------------------------
void SpriteProgressToRadial::onEnter()
{
SpriteDemo::onEnter();
CCSize s = CCDirector::sharedDirector()->getWinSize();
CCProgressTo *to1 = CCProgressTo::create(2, 100);//动作时间,显示百分比
CCProgressTo *to2 = CCProgressTo::create(2, 100);
CCProgressTimer *left = CCProgressTimer::create(CCSprite::create(s_pPathSister1));//传人精灵对象
//kCCProgressTimerTypeBar为进度条的形式,cocos2d-x封装了2种显示方式:条形:kCCProgressTimerTypeBar,圆弧形:kCCProgressTimerTypeRadial
left->setType( kCCProgressTimerTypeBar );//设置动画类型
addChild(left);
left->setPosition(ccp(100, s.height/2));
left->setMidpoint(ccp(0.25f, 0.75f));//设置开始展示点的位置,动画开始的起始点
left->runAction( CCRepeatForever::create(to1));
CCProgressTimer *right = CCProgressTimer::create(CCSprite::create(s_pPathBlock));
right->setType(kCCProgressTimerTypeRadial);
// Makes the ridial CCW
right->setReverseProgress(true);//逆时针方向展开
addChild(right);
right->setPosition(ccp(s.width-100, s.height/2));
right->runAction( CCRepeatForever::create(to2));
}
//另外,当类型为直线扫描的动画(条形)时,
right->setMidpoint(ccp(x, y)); //设置动画开始点x轴,y轴的起始坐标(百分百),
//示例:
right->setMidpoint(ccp(1,0)); // 动画从右下角开始向其它地方扩展
right->setMidpoint(ccp(0, 1)); //动画从左上角开始向其它地方扩展
left->setBarChangeRate(ccp(x,y)) //设置动画完成后,x轴、y轴最终改变的比例(百分比),
//示例:
left->setBarChangeRate(ccp(0.5,0)); // 此例开始时x显示一半,y轴显示全部,最终,x轴改变0.5,y轴改变0
//这两个函数结合:
left->setType(kCCProgressTimerTypeBar);
left->setMidpoint(ccp(0,0));
left->setBarChangeRate(ccp(1,0)); // 效果为整张动画从最左边的边界开始,向右边界推进,直到最终完全显示
欢迎转载,转载请注明出处: http://blog.youkuaiyun.com/somestill/article/details/9406501