zoukankan      html  css  js  c++  java
  • COCOS2D-X之圆形进度条的一个简单Demo

    这应该是游戏中很常见的一个效果.显示某个事件的进度等,在加载资源或者联网的时候经常用到.所以有必要学习学习大笑

    一、我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添加如下代码:

    CCSprite* pSprite = CCSprite::create("A.png");//暂且说是蓝色背景吧
    CCSize szWin = CCDirector::sharedDirector()->getVisibleSize();
    pSprite->setPosition(CCPointMake(szWin.width/2,szWin.height/2));
    this->addChild(pSprite);
    CCProgressTimer *pProgressTimer = CCProgressTimer::create(CCSprite::create("B.png")); //红色圆形进度条 
    pProgressTimer->setPosition(CCPointMake(szWin.width/2,szWin.height/2));
    pProgressTimer->setPercentage(0);//显示原形的百分比
    this->addChild(pProgressTimer,0,100);  
    this->schedule(schedule_selector(HelloWorld::UpdateProgress));//更加实际情况来更新进度.这里用定时器以便演示

    二、然后我们需要实现定时器调用的函数.代码如下并附上效果图.

    void HelloWorld::UpdateProgress(float Dt)
    {
     CCProgressTimer * pProgressTimer = (CCProgressTimer *)this->getChildByTag(100);  
     pProgressTimer->setPercentage(pProgressTimer->getPercentage() + Dt * 10);//更新进度
     if (pProgressTimer->getPercentage()==100) 
     {
      this->unschedule(schedule_selector(HelloWorld::UpdateProgress));//取消定时器
     }
    }


    PS:因为是基础学习,故不作过多分析.后继会有更多精彩内容,敬请大家关注 害羞

    本人郑重声明如下 一、本文来自CSDN博客,本文地址http://t.cn/z8KCM7J 二、All Rights Reserved. 任何个人或网站转载本文时不得移除本声明. 三、不得对文章进行修改,除非明确说明.同时欢迎大家评论转载和分享.
  • 相关阅读:
    制作yaffs2文件系统
    nandwrite 参数
    linux并发控制之信号量
    mke2fs 制作ext2文件系统image
    stat文件状态信息结构体
    mount命令详解
    fiddler——http——cookie
    fiddler——http——请求方法、状态码
    http的cookie
    fiddler——http——header首部(请求首部和响应首部)——个人文档整理
  • 原文地址:https://www.cnblogs.com/james1207/p/3313116.html
Copyright © 2011-2022 走看看