您的位置:首页 > 移动开发 > Cocos引擎

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

2013-06-14 14:49 567 查看
Cocos2d-x学习交流群:140326755

Email : hahayacoder@gmail.com



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



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







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

[cpp] view
plaincopyprint?

CCSprite *coolSprite = CCSprite::create("cool.png");

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

/** 第二个参数zOrder 当有多个节点在Z轴显示时 引擎会根据它们Z轴的大小决定绘制顺序 Z轴大的会覆盖Z轴小的 */

this->addChild(coolSprite, 0);



CCSprite *activeSprite = CCSprite::create("active.png");

CCProgressTimer *progressCD = CCProgressTimer::create(activeSprite);

/** 设置CCProgressTimer类型 2.0版本以上只保留了两种形式*/

progressCD->setType(CCProgressTimerType::kCCProgressTimerTypeRadial);

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

//zOrder大于暗的图片 所以会覆盖暗的图片

this->addChild(progressCD, 1);

/** 让进度条执行一个动作 显示出动画效果 */

CCProgressTo *progressToAction = CCProgressTo::create(8.0f, 100.0f);

progressCD->runAction(progressToAction);



4 运行效果



分享到:

上一篇:[cocos2d-x] --- CCLabelProtocol文本标签详解
下一篇:[cocos2d-x] --- 虚拟机下完美搭建ios - cocos2d-x开发环境
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: