zoukankan      html  css  js  c++  java
  • cocos2dx的初步学习三

    好了,我们来看看进度条如何来实现,cocos2dx里已经有现成的这个类,叫CCProgressTimer。好了,废话少说,我们直接上代码,看如何来这个类。

     //创建一个进度条精灵,这个是2.0以后api变了
        CCSprite *progressbgSprite=CCSprite::create("time_slot-hd.png");
    
        progressbgSprite->setPosition(ccp(300, 300));
    
        this->addChild(progressbgSprite, 1);
        
        
        CCSprite *progressSprite=CCSprite::create("time_bars-hd.png");
    
        progress1=CCProgressTimer::create(progressSprite);
        
        progress1->setType(kCCProgressTimerTypeBar);
        
        progress1->setPosition(ccp(300, 300));
        
        //进度动画运动方向,可以多试几个值,看看效果
        progress1->setMidpoint(ccp(0, 0));
        
        //进度条宽高变化
        progress1->setBarChangeRate(ccp(1, 0));
        
        progress1->setPercentage(0);
        
        this->addChild(progress1, 1);
        
        
        numsTTF=CCLabelTTF::create("0", "Thonburi", 18);
        
        
        numsTTF->setPosition(ccp(300, 300));
        
        
        this->addChild(numsTTF, 1);
        
        
        this->scheduleUpdate();
    

      

    void HelloWorld::update(float t)
    {
    
        
        float cu=progress1->getPercentage();
        
        
        cu=cu+0.1f;
        
        
        progress1->setPercentage(cu);
        
        
        CCString *str = CCString::createWithFormat("%.2f%%",cu);
    
        numsTTF->setString(str->getCString());
        
        
        
    
    }
    

    创建一个CCProgressTimer类,并且在上面显示一个文字变化,并调用系统的方法来刷新界面,OK,看截图

    0K。。我们来改变下,设置progress1->setPercentage(100);然后刷新方法里cu=cu-0.1f;

     

    OK,我们换个进度条类型看看,

     CCSprite *progress2Sprite=CCSprite::create("Icon-72.png");
        
        progress2=CCProgressTimer::create(progress2Sprite);
        
        //类型为圆形
        progress2->setType(kCCProgressTimerTypeRadial);
        
        progress2->setPosition(ccp(300, 100));
        
        this->addChild(progress2, 1);
    

    我们看下效果:(下面的小图就是)

     

  • 相关阅读:
    常量
    语音合成技术(深度学习方法简介)
    在 Linux 上如何清除内存的 Cache、Buffer 和交换空间
    Bash Bang (!) commands(bash的“!”命令,重新运行前一个命令的全部或部分。)
    Ubuntu apt pip conda 代理设置
    rsync 远程数据同步
    设置 jupyter notebook 可远程访问
    ubuntu 挂载硬盘(GPT分区,大于2T的硬盘)
    用树结构构造一篇文章(待完成)
    数组切分(句子拼接)
  • 原文地址:https://www.cnblogs.com/henrendadi/p/3138001.html
Copyright © 2011-2022 走看看