1
2
3
4
|
//
RADIAL
//扇形进度计时器
BAR
//条形进度计时器
//
|
4
5
6
7
//几秒内从0%变化到指定进度
CCProgressTo::create(
'时间'
,
'变化到百分之几'
);
//几秒内从a%进度变化到b%进度
CCProgressFromTo::create(
'从百分之几'
);
2、CCProgressTimer
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
class
CCProgressTimer:
public
CCNodeRGBA
{
/**
* 创建方法create
*/
//精灵图片作为进度条
CCProgressTimer::create(CCSprite*sp);
/**
* 属性设置
* setSprite,setPercentage,setType
*/
//设置进度条所使用的精灵图片
void
setSprite(CCSprite*pSprite);
CCSprite*getSprite();
//设置进度百分值[0,100]
setPercentage(
float
fPercentage);
getPercentage();
//设置进度条样式
// kCCProgressTimerTypeRadial 扇形进度计时器
// kCCProgressTimerTypeBar 条形进度计时器
setType(CCProgressTimerTypetype);
CCProgressTimerTypegetType();
//反进度显示
//条形:从100到0。
//扇形:false顺时针,true逆时针
setReverseProgress(
bool
reverse);
/**
* 进度条设置
* setMidpoint,setBarChangeRate
*/
//设置进度条起始的中心位置,范围[0,1](默认图片中点ccp(0.5,0.5))
setMidpoint(CCPoint);
CCPointgetMidpoint();
//用于做进度条所占的图片比例
setBarChangeRate(CCPoint);
CCPointgetBarChangeRate();
/**
* 父类继承
* setAnchorPoint,setColor,setOpacity
*/
//设置锚点
setAnchorPoint(CCPointanchorPoint);
//设置颜色
virtual
setColor(
const
ccColor3B&color);
ccColor3B&getColor()
;
//设置透明度
setOpacity(GLubyteopacity);
virtual
GLubytegetOpacity()
;
};
3、setMidpoint
6
//只有X轴变化。(起始X轴不显示)
setBarChangeRate(ccp(0,1)):
//只有Y轴变化。(起始Y轴不显示)
//X,Y轴都变化。(起始X,y轴都不显示)
setBarChangeRate(ccp(0.5,0.5)):
//X,Y轴都变化。(起始X,y轴都已显示一半)
三组图片对比图:
18
ccp(1,0):
"从右到左显示"
ccp(0.5,monospace!important; font-size:1em!important; min-height:inherit!important; color:blue!important">"从中间到两边显示"
ccp(0,monospace!important; font-size:1em!important; min-height:inherit!important; color:blue!important">"从左到右显示"
//当条形进度条样式为:setBarChangeRate(ccp(0,1))
"从上到下显示。"
显示。
"从下到上显示。"
【代码实战】
25
CCSprite*bg1=CCSprite::create(
"Icon.png"
);
CCProgressTimer*pro1=CCProgressTimer::create(bg1);
pro1->setPosition(ccp(130,100));
this
->addChild(pro1);
//条形,定义进度条方式:从右到左显示
pro1->setType(kCCProgressTimerTypeBar);
pro1->setBarChangeRate(ccp(1,0));
pro1->setMidpoint(ccp(1,0));
//pro1->setReverseProgress(true);//反进度显示
//扇形进度条pro2
CCSprite*bg2=CCSprite::create(
);
CCProgressTimer*pro2=CCProgressTimer::create(bg2);
pro2->setPosition(ccp(350,100));
->addChild(pro2);
//扇形,圆心ccp(0.3,0.7)
pro2->setType(kCCProgressTimerTypeRadial);
pro2->setMidpoint(ccp(0.3,0.7));
//pro2->setReverseProgress(true);//逆时针
3、创建进度动作CCProgressTo、CCProgressFromTo
8
CCProgressTo*ac1=CCProgressTo::create(2.0f,100);
CCProgressFromTo*ac2=CCProgressFromTo::create(2.0f,30,100);
pro1->runAction(CCRepeatForever::create(ac1));
//2秒内,从0到100
pro2->runAction(CCRepeatForever::create(ac2));
//2秒内,从30到100
4、运行结果
pro2->setReverseProgress(
//逆时针
结果如下:
原文链接:https://www.f2er.com/cocos2dx/342011.html