您的位置:首页 > 其它

ActionProgress: CCProgressTo 和 CCProgressTimer

2015-10-16 13:12 330 查看
例子1:

CCProgressTo *to1 = CCProgressTo::create(2,100);

CCProgressTo *to2 = CCProgressTo::create(5, 100);

CCProgressTimer* left = CCProgressTimer::create(CCSprite::create("icc.png"));

//left->setType(kCCProgressTimerTypeRadial);

left->setType(kCCProgressTimerTypeBar);

addChild(left);

left->setPosition(ccp(200, winSize.height/2));

left->runAction(CCRepeatForever::create(to1));

CCProgressTimer* right = CCProgressTimer::create(CCSprite::create("icc.png"));

right->setType(kCCProgressTimerTypeRadial);

right->setReverseProgress(true);

addChild(right);

right->setPosition(ccp(winSize.width - 300, winSize.height / 2));

right->runAction(CCRepeatForever::create(to2));

例子2:

CCProgressTo *to1 = CCProgressTo::create(2, 100);

CCProgressTo *to2 = CCProgressTo::create(2, 100);

CCProgressTo *to3 = CCProgressTo::create(2, 100);

CCProgressTo *to4 = CCProgressTo::create(2, 100);

CCProgressTimer* horizontal1 = CCProgressTimer::create(CCSprite::create("bar.png"));

horizontal1->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

horizontal1->setMidpoint(ccp(0, 0));//起点坐标

horizontal1->setBarChangeRate(ccp(1, 0));//进度器变化比率 用来设置条形进度器的方向 水平或竖直

addChild(horizontal1);

horizontal1->setPosition(ccp(winSize.width*0.2, winSize.height / 2));

horizontal1->runAction(CCRepeatForever::create(to1));

CCProgressTimer* horizontal2 = CCProgressTimer::create(CCSprite::create("bar.png"));

horizontal2->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

horizontal2->setMidpoint(ccp(1, 0));//起点坐标

horizontal2->setBarChangeRate(ccp(1, 0));//进度器变化比率 用来设置条形进度器的方向 水平或竖直

addChild(horizontal2);

horizontal2->setPosition(ccp(winSize.width*0.4, winSize.height / 2));

horizontal2->runAction(CCRepeatForever::create(to2));

CCProgressTimer* vertical1 = CCProgressTimer::create(CCSprite::create("bar.png"));

vertical1->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

vertical1->setMidpoint(ccp(0, 0));//起点坐标

vertical1->setBarChangeRate(ccp(0, 1));//进度器变化比率 用来设置条形进度器的方向 水平或竖直

addChild(vertical1);

vertical1->setPosition(ccp(winSize.width*0.6, winSize.height / 2));

vertical1->runAction(CCRepeatForever::create(to3));

CCProgressTimer* vertical2 = CCProgressTimer::create(CCSprite::create("bar.png"));

vertical2->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

vertical2->setMidpoint(ccp(0, 1));//起点坐标

vertical2->setBarChangeRate(ccp(0, 1));//进度器变化比率 用来设置条形进度器的方向 水平或竖直

addChild(vertical2);

vertical2->setPosition(ccp(winSize.width*0.8, winSize.height / 2));

vertical2->runAction(CCRepeatForever::create(to4));

例子3:

CCProgressTo *action = CCProgressTo::create(2, 100);

CCProgressTimer* left = CCProgressTimer::create(CCSprite::create("chains.png"));

left->setType(kCCProgressTimerTypeRadial);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

addChild(left);

//修改旋转中心点

left->setMidpoint(ccp(0.25f, 0.75f));//起点坐标

left->setPosition(ccp(winSize.width*0.2, winSize.height / 2));

left->runAction(CCRepeatForever::create((CCActionInterval*)action->copy()->autorelease()));

CCProgressTimer* right = CCProgressTimer::create(CCSprite::create("chains.png"));

right->setType(kCCProgressTimerTypeRadial);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

//修改旋转中心点

right->setMidpoint(ccp(0.75f, 0.25f));//起点坐标

addChild(right);

right->setReverseProgress(true); //right->setReverseDirection(true);//***********

right->setPosition(ccp(winSize.width*0.2, winSize.height / 2));

right->runAction(CCRepeatForever::create((CCActionInterval*)action->copy()->autorelease()));

例子4:

CCProgressTo *to = CCProgressTo::create(2, 100);

CCProgressTimer* left = CCProgressTimer::create(CCSprite::create("chains.png"));

left->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

//修改旋转中心点

left->setMidpoint(ccp(0.5f, 0));//起点坐标

left->setBarChangeRate(ccp(1,0));

addChild(left);

left->setPosition(ccp(winSize.width*0.2, winSize.height / 2));

left->runAction(CCRepeatForever::create((CCActionInterval*)to->copy()->autorelease()));

CCProgressTimer* middle = CCProgressTimer::create(CCSprite::create("chains.png"));

middle->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

//修改旋转中心点

middle->setMidpoint(ccp(0.5f, 0.5f));//起点坐标

middle->setBarChangeRate(ccp(1, 1));

addChild(middle);

middle->setPosition(ccp(winSize.width*0.4, winSize.height / 2));

middle->runAction(CCRepeatForever::create((CCActionInterval*)to->copy()->autorelease()));

CCProgressTimer* right = CCProgressTimer::create(CCSprite::create("chains.png"));

right->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

//修改旋转中心点

right->setMidpoint(ccp(1, 1));//起点坐标

right->setBarChangeRate(ccp(1, 1));

addChild(right);

right->setPosition(ccp(winSize.width*0.6, winSize.height / 2));

right->runAction(CCRepeatForever::create((CCActionInterval*)to->copy()->autorelease()));

例子5:

CCProgressTo *to = CCProgressTo::create(4, 100);

CCAction* tint = CCSequence::create(

CCTintTo::create(1, 255, 0, 0),

CCTintTo::create(1, 0, 255, 0),

CCTintTo::create(1, 0, 0, 255),

CCTintTo::create(1, 0, 0, 255),

NULL

);

CCAction* fade = CCSequence::create(

CCFadeTo::create(1.0f,0),

CCFadeTo::create(1.0f,255),

NULL

);

CCProgressTimer* left = CCProgressTimer::create(CCSprite::create("chains.png"));

left->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

//修改旋转中心点

left->setMidpoint(ccp(0.5f, 0.5f));//起点坐标

left->setBarChangeRate(ccp(1,0));

addChild(left);

left->setPosition(ccp(winSize.width*0.2, winSize.height / 2));

left->runAction(CCRepeatForever::create((CCActionInterval*)to->copy()->autorelease()));

left->runAction(CCRepeatForever::create((CCActionInterval*)tint->copy()->autorelease()));//

left->addChild(CCLabelTTF::create("Tint","Marker Felt",20.0f));

CCProgressTimer* middle = CCProgressTimer::create(CCSprite::create("chains.png"));

middle->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

//修改旋转中心点

middle->setMidpoint(ccp(0.5f, 0.5f));//起点坐标

middle->setBarChangeRate(ccp(1, 1));

addChild(middle);

middle->setPosition(ccp(winSize.width*0.4, winSize.height *0.4));

middle->runAction(CCRepeatForever::create((CCActionInterval*)to->copy()->autorelease()));

middle->runAction(CCRepeatForever::create((CCActionInterval*)fade->copy()->autorelease()));//

middle->addChild(CCLabelTTF::create("Fade", "Marker Felt", 20.0f));

CCProgressTimer* right = CCProgressTimer::create(CCSprite::create("chains.png"));

right->setType(kCCProgressTimerTypeBar);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

//修改旋转中心点

right->setMidpoint(ccp(0.5f, 0.5f));//起点坐标

right->setBarChangeRate(ccp(0, 1));

addChild(right);

right->setPosition(ccp(winSize.width*0.6, winSize.height*0.6));

right->runAction(CCRepeatForever::create((CCActionInterval*)to->copy()->autorelease()));

right->runAction(CCRepeatForever::create((CCActionInterval*)tint->copy()->autorelease()));

right->runAction(CCRepeatForever::create((CCActionInterval*)fade->copy()->autorelease()));//

right->addChild(CCLabelTTF::create("Tint and Fade", "Marker Felt", 20.0f));

例子6:

//制作技能冷却特效:利用两张图片,一张带有半透明蒙层,一张为原图。 原图做进度圈旋转效果

//原图做进度圈动作

CCProgressTimer* progress = CCProgressTimer::create(CCSprite::create("chains.png"));

progress->setType(kCCProgressTimerTypeRadial);//设置进度条类型(kCCProgressTimerTypeRadial扇形、kCCProgressTimerTypeBar条形)

addChild(progress);

progress->setPosition(ccp(winSize.width*0.2, winSize.height / 2));

progress->runAction(CCProgressTo::create(10, 100));//

CCSprite* sp = CCSprite::create("chains.png");

sp->setPosition(progress->getPosition());

addChild(sp);

sp->setOpacity(100);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: