首页 > 代码库 > cocos2d-x 之 CCProgressTimer

cocos2d-x 之 CCProgressTimer

  1. --绕圆心转动的进度动画   
  2. local function SpriteProgressToRadial()  
  3.     local leftProgress = CCProgressTimer:create(CCSprite:create("circle.png"))  
  4.     leftProgress:setType(kCCProgressTimerTypeRadial) --扇形顺时针形式   
  5.     leftProgress:setPosition(ccp(size.width*0.3,size.height*0.5))  
  6.     layer:addChild(leftProgress)  
  7.       
  8.     local progress1 = CCProgressTo:create(10,100)  
  9.     leftProgress:runAction(CCRepeatForever:create(progress1))  
  10.       
  11.       
  12.     local rightProgress = CCProgressTimer:create(CCSprite:create("circle.png"))  
  13.     rightProgress:setType(kCCProgressTimerTypeRadial)  
  14.     rightProgress:setReverseProgress(true) --扇形逆时针形式   
  15.     rightProgress:setPosition(ccp(size.width*0.7,size.height*0.5))  
  16.     layer:addChild(rightProgress)  
  17.       
  18.     local progress2 = CCProgressTo:create(10,100)  
  19.     rightProgress:runAction(CCRepeatForever:create(progress2))  
  20. end  


 

 
  1. --条形  
  2. local function SpriteProgressToHorizontal()  
  3.     local to1 = CCProgressTo:create(2,100)  
  4.     local to2 = CCProgressTo:create(2,100)  
  5.       
  6.     local left = CCProgressTimer:create(CCSprite:create("man.png"))  
  7.     left:setType(kCCProgressTimerTypeBar) --条形  用来设定进度条的显示类型  
  8.     left:setMidpoint(ccp(0,0)) --x为0代表进度条从左边开始      setMidpoint:用来设定进度条横向前进的方向从左向右或是从右向左  
  9.     left:setBarChangeRate(ccp(1,0)) --y为0代表进度条垂直方向无增长   setBarChangeRate:用来设置进度条增长按横向或是按纵向增长  
  10.     left:setPosition(ccp(size.width*0.3,size.height*0.5))  
  11.     layer:addChild(left)  
  12.     left:runAction(CCRepeatForever:create(to1))  
  13.       
  14.       
  15.     local right = CCProgressTimer:create(CCSprite:create("blackgirl.png"))  
  16.     right:setType(kCCProgressTimerTypeBar)  
  17.     right:setMidpoint(ccp(1,0))  
  18.     right:setBarChangeRate(ccp(1,0))  
  19.     right:setPosition(ccp(size.width*0.7,size.height*0.5))  
  20.     layer:addChild(right)  
  21.     right:runAction(CCRepeatForever:create(to2))  
  22.       
  23.       
  24.     --创建一个见血动画 两图片资源:一个为雪条 一个为雪条底 ,雪条底在雪条的上面,通过逐渐显示出雪条底以达到血减少的效果  
  25.     local blood = CCSprite:create("hello_hp_1.png")  
  26.     blood:setPosition(ccp(size.width*0.5,size.height*0.3))  
  27.     layer:addChild(blood)  
  28.       
  29.     local bloodBack = CCProgressTimer:create(CCSprite:create("hello_hp_0.png"))  
  30.     bloodBack:setType(kCCProgressTimerTypeBar)  
  31.     bloodBack:setMidpoint(ccp(1,0))  
  32.     bloodBack:setBarChangeRate(ccp(1,0))  
  33.     bloodBack:setPosition(ccp(size.width*0.5,size.height*0.3))  
  34.     layer:addChild(bloodBack)  
  35.     local to3 = CCProgressTo:create(2,100)  
  36.     bloodBack:runAction(CCRepeatForever:create(to3))  
  37. end  

 

 
  1. --垂直  
  2. local function SpriteProgressToVertical()  
  3.     local to1 = CCProgressTo:create(2,100)  
  4.     local to2 = CCProgressTo:create(2,100)  
  5.       
  6.     local left = CCProgressTimer:create(CCSprite:create("man.png"))  
  7.     left:setType(kCCProgressTimerTypeBar)  
  8.     left:setMidpoint(ccp(0,0)) --x为0从左边开始 为1右边开始,y为0从下面开始 为1从上面开始  
  9.     left:setBarChangeRate(ccp(0,1)) --x为1水平变化   y为1垂直变化  
  10.     left:setPosition(ccp(size.width*0.3,size.height*0.5))  
  11.     layer:addChild(left)  
  12.     left:runAction(CCRepeatForever:create(to1))  
  13.       
  14.       
  15.     local right = CCProgressTimer:create(CCSprite:create("blackgirl.png"))  
  16.     right:setType(kCCProgressTimerTypeBar)  
  17.     right:setMidpoint(ccp(0,1)) --(0,0)左下角  (0,1)左上角  (1,0)右下角  (1,1)右上角  
  18.     right:setBarChangeRate(ccp(0,1))  
  19.     right:setPosition(ccp(size.width*0.7,size.height*0.5))  
  20.     layer:addChild(right)  
  21.     right:runAction(CCRepeatForever:create(to2))  
  22. end  

 

 

[plain] view plaincopy
 
  1. local function SpriteProgressToRadialMidpointChanged()  
  2.     local left = CCProgressTimer:create(CCSprite:create("blocks.png"))  
  3.     left:setType(kCCProgressTimerTypeRadial)  
  4.     left:setMidpoint(ccp(0.25,0.75))  
  5.     left:setPosition(ccp(size.width*0.3,size.height*0.5))  
  6.     layer:addChild(left)  
  7.     left:runAction(CCRepeatForever:create(CCProgressTo:create(2,100)))  
  8.       
  9.       
  10.     local right = CCProgressTimer:create(CCSprite:create("blocks.png"))  
  11.     right:setType(kCCProgressTimerTypeRadial)  
  12.     right:setMidpoint(ccp(0.75,0.25))  
  13.     right:setPosition(ccp(size.width*0.7,size.height*0.5))  
  14.     layer:addChild(right)  
  15.     right:runAction(CCRepeatForever:create(CCProgressTo:create(2,100)))      
  16. end  


 

 

[plain] view plaincopy
 
    1. local function SpriteProgressVarious()  
    2.     local left = CCProgressTimer:create(CCSprite:create("blackgirl.png"))  
    3.     left:setType(kCCProgressTimerTypeBar)  
    4.     left:setMidpoint(ccp(0.5,0.5))  
    5.     left:setBarChangeRate(ccp(1,0))  
    6.     left:setPosition(ccp(size.width*0.3,size.height*0.5))  
    7.     layer:addChild(left)  
    8.     left:runAction(CCRepeatForever:create(CCProgressTo:create(2,100)))  
    9.       
    10.     local middle = CCProgressTimer:create(CCSprite:create("whitegirl.png"))  
    11.     middle:setType(kCCProgressTimerTypeBar)  
    12.     middle:setMidpoint(ccp(0.5,0.5))  
    13.     middle:setBarChangeRate(ccp(1,1))  
    14.     middle:setPosition(ccp(size.width*0.5,size.height*0.5))  
    15.     layer:addChild(middle)  
    16.     middle:runAction(CCRepeatForever:create(CCProgressTo:create(2,100)))  
    17.       
    18.     local right = CCProgressTimer:create(CCSprite:create("man.png"))  
    19.     right:setType(kCCProgressTimerTypeBar)  
    20.     right:setMidpoint(ccp(0.5,0.5))  
    21.     right:setBarChangeRate(ccp(0,1))  
    22.     right:setPosition(ccp(size.width*0.7,size.height*0.5))  
    23.     layer:addChild(right)  
    24.     right:runAction(CCRepeatForever:create(CCProgressTo:create(2,100)))  
    25. end  

cocos2d-x 之 CCProgressTimer