ActionProgress: CCProgressTo 和 CCProgressTimer

来源:互联网 发布:mysql from 多表 编辑:程序博客网 时间:2024/05/21 17:53

例子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);

0 0
原创粉丝点击