用CCProgressTimer实现进度条效果很不错,还有动画,只是中文社区、博客对横向进度条讲的比较少,自己写一个大概的用法,因为刚开始使用,有问题还请指出。
ps. 基于cocos2d 2.1。
首先是初始化一个CCProgressTimer:
1 2 3 4 |
CCProgressTimer *progressor = [CCProgressTimer progressWithSprite: [CCSprite spriteWithSpriteFrameName: @"progress-bar.png"]]; |
然后设置其状态:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// kCCProgressTimerTypeRadial 时钟形式 // kCCProgressTimerTypeBar 条形 progressor.type = kCCProgressTimerTypeBar; // barChangeRate应该是指定了其增长的方向 //比如(1,0)横向增长,(0,1)纵向增长。 progressor.barChangeRate = ccp(1, 0); // midpoint算是起始的点 // 比如(0,0)是左下开始增长 // (0.5f, 0.5f)是从横条的中间开始往两边长 progressor.midpoint = ccp(0, 0); // 执行的动画,用时1秒,从0增长到100(范围0到100) [progressor runAction: [CCProgressFromTo actionWithDuration: 1.0f from: 0 to: 100]]; [ anyNode addChild: progressor]; |
这样就得到了一个横向进度条。