***************************************转载请注明出处:http://blog.csdn.net/lttree********************************************

好长时间没有更博了。。

有点懒啊。。

亲身经历提示广大猿们:换季了,防感冒!

言归正传,最近在做 三消的手游,

关卡设计是没指望了,只能做个限时的,所以,就研究了研究schedule,

这个以后再更新,

度娘搜索的时候,看到了进度条的progressTimer,

这个很好玩的样子,于是就做了下,感觉不错。

1.What?

API解释:

ProgressTimer是Node的子类。 该类根据百分比来渲染显示内部的Sprite对象。 变化方向包括径向,水平或者垂直方向。

就是这样的情况:

2. How?

这个的实现就是通过progressTimer

与之前版本不同,

之前版本类型很多:

  1. kCCProgressTimerTypeRadialCCW,         扇形逆时针形式
  2. kCCProgressTimerTypeRadialCW,          扇形顺时针形式
  3. kCCProgressTimerTypeHorizontalBarLR,   从左往右增张的形式
  4. kCCProgressTimerTypeHorizontalBarRL,   从右往左增张的形式
  5. kCCProgressTimerTypeVerticalBarBT,     从下往上增张的形式
  6. kCCProgressTimerTypeVerticalBarTB,     从上往下增张的形式

而现在Type只有两种:

①条型的设置

就是第三个图:

<span style="font-family:Comic Sans MS;font-size:14px;">// 添加图片
auto sprite = Sprite::create("h7.png");
// 新建progressTimer对象,将图片载入进去
ProgressTimer *ct= ProgressTimer::create(sprite);
ct->setPosition(Point(visibleSize.width/2,visibleSize.height/2));
// 设置Tag,为后面更新准备
ct->setTag(10);
ct->setScale(0.2);this -> addChild(ct);
// 设置初始的百分比,0~100 可以是0或者100
ct->setPercentage(0);
// 选择类型,是条型还是时针型
ct->setType(kCCProgressTimerTypeBar);
//ct->setReverseProgress(true);// 下面两个条形的进阶
ct->setMidpoint(Point(0,0));
ct->setBarChangeRate(Point(0,1));
scheduleUpdate();</span>

然后,在.h 声明函数 void update( float t )

在.cpp定义函数

<span style="font-family:Comic Sans MS;font-size:14px;">void HelloWorld::update( float t )
{// 通过上面Tag设置,获取对象CCProgressTimer *ct=(CCProgressTimer*)getChildByTag(10);// 获取当前进度int num = ct->getPercentage();// 设置进度速度(此处为每帧+1)ct->setPercentage( ++num );// 设置了循环播放if( num >= 100 )ct -> setPercentage(0);
}</span>

此处,我是通过帧数来控制的速度,

当然也可以通过  自己调用的update来设置速度。

条形的可以从上到下,从下向上,或者从中间向两边

这个的控制,就是通过上面代码中,进阶的部分:

<span style="font-family:Comic Sans MS;font-size:14px;">ct->setMidpoint(Point(0,0));
ct->setBarChangeRate(Point(0,1));</span>

setMidpoint 是定义从哪开始

这个和锚点的设置一样,0,0左下角,1,1是右上角

setBarChangeRate 是 定义 方向

1,0是自下而上

0,1是自左向右

②时针型的设置

<span style="font-family:Comic Sans MS;font-size:14px;">    // 添加图片auto sprite = Sprite::create("h7.png");   // 新建progressTimer对象,将图片载入进去ProgressTimer *ct= ProgressTimer::create(sprite);ct->setPosition(Point(visibleSize.width/2,visibleSize.height/2));   // 设置Tag,为后面更新准备ct->setTag(10);ct->setScale(0.2);this -> addChild(ct);// 设置初始的百分比,0~100 可以是0或者100ct->setPercentage(0);// 选择类型,是条型还是时针型ct->setType(kCCProgressTimerTypeRadial);ct->setReverseProgress(false);// 下面两个条形的进阶
//  ct->setMidpoint(Point(0,0));
//  ct->setBarChangeRate(Point(0,1));scheduleUpdate();</span>

update函数还是那样,

默认是顺时针,

setReverseProgress

——false 顺时针

——true 逆时针

这样第二个的图片就实现了。

③ 第一个图片那种如何实现呢?

其实,So easy

只需要弄一张暗一点的图片,在底下衬着:

<span style="font-family:Comic Sans MS;font-size:14px;">auto sprite2 = Sprite::create("h7_02.png");
sprite2->setScale(0.2);
sprite2->setPosition(Point(visibleSize.width/2,visibleSize.height/2));
this -> addChild(sprite2);</span>

就是这样~

进度条你学会了吗?

同为新手,如有错误,敬请指出,共同进步 O(∩_∩)O~

***************************************转载请注明出处:http://blog.csdn.net/lttree********************************************

Cocos2d-x 3.2 之 进度条 progressTimer相关推荐

  1. 【iOS-Cocos2d游戏开发之十五】详解CCProgressTimer 进度条并修改cocos2d源码实现“理想”游戏进度条!...

    为什么80%的码农都做不了架构师?>>>     李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接:  http://www.himigam ...

  2. Cocos-2d 游戏进度条

    游戏开发中难免用到进度条,例如做一些游戏技能的CD时间等都会使用到:那么cocos2d当然也封装了进度条,但是不太理想,如果童鞋们用过就应该知道,那么今天介绍两个知识点,第一:介绍cocos2d中的进 ...

  3. Cocos-2d 游戏进度条加载CCProgressTimer实现

    游戏开发中难免用到进度条,例如做一些游戏技能的CD时间等都会使用到:那么cocos2d当然也封装了进度条,但是不太理想,如果童鞋们用过就应该知道,那么今天介绍两个知识点,第一:介绍cocos2d中的进 ...

  4. 【游戏客户端】如何实现环形进度条

    [游戏客户端]如何实现环形进度条       Hello大家好,我是Lampard.好久没写博客了,之前在忙着制作项目的一个大的副本,趁着过年得闲,和大家分享一下制作过程中遇到的一些有趣的问题.今天主 ...

  5. cocos2dx-lua 之 ProgressTimer 条形进度条 简单血条的实现

    cocos2dx-lua 简单血条的实现 所用资源: blood_bg.png :    blood_red.png  直接贴代码: local BloodProgressBar = class(&q ...

  6. cocos2dX 学习笔记——音乐、音效和进度条

    每个游戏都需要音乐和音效,当然进度条也是必不可少一种,可以用于于技能CD,所以就用代码介绍和实现一下以上三种. .cpp中 #include "FifthScene.h" #inc ...

  7. 设置参数cocos2d-x 2.x 进度条CCProgressTimer

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 在cocos2d中同样供给了很多表现图片和精灵的方法,上一篇当中提到的切换场景的方法之一是顺或逆时针切入的方法,在图片上也可以应用, ...

  8. os-cocos2d游戏开发基础-进度条-开发笔记

     os-cocos2d游戏开发基础-进度条-开发笔记(十)   ios-cocos2d游戏开发基础-游戏音效-开发笔记(九)       ios-cocos2d游戏开发基础-CCLayer和Touch ...

  9. 1.CCProgressTo进度动作,条形进度条,扇形进度条

     1 Bar形进度 CCSprite * proBack = CCSprite::create("barback.png"); proBack->setPosition( ...

最新文章

  1. win10pin不可用进不去系统_解决win7系统下连接网络打印机不可用的处理方法
  2. python中lines是什么类型_Python中splitlines()方法的使用简介
  3. PHP 中获取文件名及路径
  4. mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)
  5. 微信小程序中如何使用阿里云iconfont图标
  6. mysql用户表怎么命名_数据库表的命名规范
  7. ook的matlab,【伪技术】基于OOK的语音信号的数字传输
  8. 使用开源的协同办公OA项目,实现规范高效的公文管理
  9. matlab rloess,R语言利用loess如何去除某个变量对数据的影响详解
  10. 学习Spherical Harmonics的简记
  11. js数组操作的一些方法在面试题的使用
  12. 小程序 Serverless: 解放生产力,驱动研发效能提升 1
  13. 嵌入式学习用什么编程语言
  14. 阅读和了解什么是形式化方法?
  15. 在黑马的两个月培训的感受
  16. 有些不知道自己应该做些什么
  17. 你该知道的 Oracle 认证那些事儿(免费 赠送最新OCP题库)
  18. 怎样用计算机演示声音的波形,利用音频APP演示声音特性的创新实验——智能手机上的中学物理实验创新之一...
  19. fseek函数fread函数的用法
  20. H264视频传输、编解码----RTP/RTCP协议

热门文章

  1. Java、JSP银行账目管理系统
  2. Django startapp
  3. GB28181协议开发介绍
  4. 深入解析数据库透明加密技术
  5. GNSS/INS松组合算法原理简介
  6. 分布式实时计算课程学习(2.2)——Source API
  7. matlab读取二进制文件字符串,matlab读取内容为二进制的TXT文件
  8. 【致客户书】关于CSDN专栏订阅的说明
  9. 安装LEGO软件遇到的问题
  10. 使用C# 开发报价系统