cocos2d-x的初步学习三

好了,我们来看看进度条如何来实现,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);

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




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值