zoukankan      html  css  js  c++  java
  • cocos2d-x 技能冷却特效

    转自:http://blog.csdn.net/qiurisuixiang/article/details/8779540

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

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

     

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

    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 运行效果

  • 相关阅读:
    配置VSFTP文件服务器
    Apache Tomcat服务部署网站
    NFS实现Unix-like文件共享
    OpenSSH 服务配置与管理
    Redis 数据库配置与应用
    Rsync+Inotify 实现数据同步
    PXE+Kickstart 自动化部署系统
    PostFix+Dovecot 部署邮件系统
    部署MooseFS分布式文件系统
    MVC5+EF6 完整教程
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/3191755.html
Copyright © 2011-2022 走看看