cocos2d-x 之 CCProgressTimer

时间:2023-03-09 17:58:42
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. local progress1 = CCProgressTo:create(10,100)
  8. leftProgress:runAction(CCRepeatForever:create(progress1))
  9. local rightProgress = CCProgressTimer:create(CCSprite:create("circle.png"))
  10. rightProgress:setType(kCCProgressTimerTypeRadial)
  11. rightProgress:setReverseProgress(true) --扇形逆时针形式
  12. rightProgress:setPosition(ccp(size.width*0.7,size.height*0.5))
  13. layer:addChild(rightProgress)
  14. local progress2 = CCProgressTo:create(10,100)
  15. rightProgress:runAction(CCRepeatForever:create(progress2))
  16. end

cocos2d-x 之 CCProgressTimer

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

cocos2d-x 之 CCProgressTimer

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

cocos2d-x 之 CCProgressTimer

  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. local right = CCProgressTimer:create(CCSprite:create("blocks.png"))
  9. right:setType(kCCProgressTimerTypeRadial)
  10. right:setMidpoint(ccp(0.75,0.25))
  11. right:setPosition(ccp(size.width*0.7,size.height*0.5))
  12. layer:addChild(right)
  13. right:runAction(CCRepeatForever:create(CCProgressTo:create(2,100)))
  14. end

cocos2d-x 之 CCProgressTimer

    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. local middle = CCProgressTimer:create(CCSprite:create("whitegirl.png"))
    10. middle:setType(kCCProgressTimerTypeBar)
    11. middle:setMidpoint(ccp(0.5,0.5))
    12. middle:setBarChangeRate(ccp(1,1))
    13. middle:setPosition(ccp(size.width*0.5,size.height*0.5))
    14. layer:addChild(middle)
    15. middle:runAction(CCRepeatForever:create(CCProgressTo:create(2,100)))
    16. local right = CCProgressTimer:create(CCSprite:create("man.png"))
    17. right:setType(kCCProgressTimerTypeBar)
    18. right:setMidpoint(ccp(0.5,0.5))
    19. right:setBarChangeRate(ccp(0,1))
    20. right:setPosition(ccp(size.width*0.7,size.height*0.5))
    21. layer:addChild(right)
    22. right:runAction(CCRepeatForever:create(CCProgressTo:create(2,100)))
    23. end