[cocos2d-x] --- 实现Dota技能冷却效果

Cocos2d-x学习交流群:140326755 

Email : hahayacoder@gmail.com

 

CSDN上看到某同学实现的Dota技能冷却效果,自己平时也玩Dota,也很好奇技能冷却的效果是怎么实现的,所以就尝试着实现了下

 

其实技能CD的原理很简单:准备两张图片,一张明一张暗,将暗的图片放在地下,明的图片放在上面(注意:两张图片大小一致,明的图片完全覆盖暗的图片),然后主要是对上面明的图片进行进度操作

                     

 

知道了原来,实现起来就很简单了,下面附上关键代码

  1. CCSprite *coolSprite = CCSprite::create("cool.png");  
  2. coolSprite->setPosition(ccp(winSize.width / 2, winSize.height / 2));  
  3. /** 第二个参数zOrder 当有多个节点在Z轴显示时 引擎会根据它们Z轴的大小决定绘制顺序 Z轴大的会覆盖Z轴小的 */  
  4. this->addChild(coolSprite, 0);  
  5.   
  6. CCSprite *activeSprite = CCSprite::create("active.png");  
  7. CCProgressTimer *progressCD = CCProgressTimer::create(activeSprite);  
  8. /** 设置CCProgressTimer类型 2.0版本以上只保留了两种形式*/  
  9. progressCD->setType(CCProgressTimerType::kCCProgressTimerTypeRadial);  
  10. progressCD->setPosition(ccp(winSize.width / 2, winSize.height / 2));  
  11. //zOrder大于暗的图片 所以会覆盖暗的图片  
  12. this->addChild(progressCD, 1);  
  13. /** 让进度条执行一个动作 显示出动画效果 */  
  14. CCProgressTo *progressToAction = CCProgressTo::create(8.0f, 100.0f);  
  15. progressCD->runAction(progressToAction);  

 

4 运行效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值