现在的位置: 首页 > 综合 > 正文

cocos2d-x TestLua 之 CCSequence (关于纹理图集)

2018年04月22日 ⁄ 综合 ⁄ 共 3801字 ⁄ 字号 评论关闭
  1. local actionSequenceLayer nil

    --不带参数的回调函数1  

  2. local function ActionSequenceCallback1()  
  3.     local label CCLabelTTF:create("回调函数 1", "Marker Felt", 24)  
  4.     label:setPosition(size.width 4, size.height 2)  
  5.   
  6.     actionSequenceLayer:addChild(label)  
  7. end  
  8. --带参数的回调函数2  
  9. local function ActionSequenceCallback2(sender)  
  10.     local label CCLabelTTF:create("回调函数 2", "Marker Felt", 24)  
  11.     label:setPosition(ccp(size.width 2, size.height 2))  
  12.   
  13.     actionSequenceLayer:addChild(label)  
  14.     print("回调函数2:我是执行此动作的精妙坐标:",sender:getPosition())  
  15. end  
  16. --带参数的回调函数3  
  17. local function ActionSequenceCallback3(sender)  
  18.     local label CCLabelTTF:create("回调函数 3", "Marker Felt", 24)  
  19.     label:setPosition(ccp(size.width 3, size.height 2))  
  20.   
  21.     actionSequenceLayer:addChild(label)  
  22.     print("回调函数3:我是执行此动作的精妙坐标:",sender:getPosition())  
  23. end  
  24. local function ActionSequence()  
  25.     actionSequenceLayer CCLayer:create()  
  26.       
  27.     local man CCSprite:create("man.png")  
  28.     man:setPosition(ccp(200,300))  
  29.     actionSequenceLayer:addChild(man)  
  30.   
  31.     man:setVisible(false)  
  32.     local array CCArray:create()  
  33.     array:addObject(CCPlace:create(ccp(200,200)))  
  34.     array:addObject(CCShow:create())  
  35.     array:addObject(CCMoveBy:create(1, ccp(100,0)))  
  36.     array:addObject(CCCallFunc:create(ActionSequenceCallback1))  
  37.     array:addObject(CCCallFuncN:create(ActionSequenceCallback2))  
  38.     array:addObject(CCCallFuncN:create(ActionSequenceCallback3))  
  39.     local action CCSequence:create(array) --如果按序执行动作只有两个,则可用:CCSequence:createWithTwoActions(action1,actions2),多余两个则用数组  
  40.   
  41.     man:runAction(action)  
  42. end  
  43. ActionSequence()  
  44.   
  45. local scene CCScene:create()  
  46. scene:addChild(actionSequenceLayer)  
  47. CCDirector:sharedDirector():runWithScene(scene)  

再介绍些瞬时动作:瞬时动作不需要时间,立即完成

 

[plain] view plaincopy

  1. --瞬时动作,瞬时动作不需要时间,立即完成  
  2. sprite:runAction(CCPlace:create(ccp(200,600)))  --放置,相当于setPosition()  
  3. sprite:runAction(CCHide:create())               --隐藏,相当于setVisible(false)  
  4. sprite:runAction(CCShow:create())               --显示,相当于setVisible(true)  
  5. sprite:runAction(CCFlipX:create(true))          --水平翻转,相当于setFlipX(true)  
  6. sprite:runAction(CCFlipY:create(true))          --垂直翻转,相当于setFlipY(true)  

 

ReverseSequence

 

[plain] view plaincopy

  1. local function ActionReverseSequence()  
  2.     
  3.     local move1 CCMoveBy:create(1,ccp(250,0))  
  4.     local move2 CCMoveBy:create(1,ccp(0,50))  
  5.     local moveBack move1:reverse()  
  6.       
  7.     local arr CCArray:create()  
  8.     arr:addObject(move1)  
  9.     arr:addObject(move2)  
  10.     arr:addObject(moveBack)  
  11.     local seq CCSequence:create(arr)  
  12.   
  13.     sprite:runAction(CCSequence:createWithTwoActions(seq,seq:reverse()))  
  14. end  

ReverseSequence2

 

[plain] view plaincopy

  1. local function ActionReverseSequence2()  
  2.       
  3.     --序列中可以同时有瞬时动作(InstantAction)和延时动作(IntervalAction)  
  4.     local move1 CCMoveBy:create(1,ccp(200,0))  
  5.     local move2 CCMoveBy:create(1,ccp(0,50))  
  6.     --可见切换   
  7.     local tog1 CCToggleVisibility:create()  
  8.     local tog2 CCToggleVisibility:create()  
  9.     local moveBack move1:reverse()  
  10.     local arr1 CCArray:create()  
  11.     arr1:addObject(move1)  
  12.     arr1:addObject(tog1)  
  13.     arr1:addObject(move2)  
  14.     arr1:addObject(tog2)  
  15.     arr1:addObject(moveBack)  
  16.     local seq CCSequence:create(arr1)  
  17.     local action CCRepeat:create(CCSequence:createWithTwoActions(seq,seq:reverse()),3)  
  18.     whitegirl:runAction(action)  
  19.       
  20.       
  21.     --CCHide的reverse为CCShow,反之亦然  
  22.     local move3 CCMoveBy:create(1,ccp(100,0))  
  23.     local hide CCHide:create()  
  24.     local move4 CCMoveBy:create(1,ccp(50,0))  
  25.     local arr2 CCArray:create()  
  26.     arr2:addObject(move3)  
  27.     arr2:addObject(hide)  
  28.     arr2:addObject(move4)  
  29.     local seq CCSequence:create(arr2)  
  30.     local action2 CCSequence:createWithTwoActions(seq,seq:reverse())  
  31.     blackgirl:runAction(action2)  
  32. end  

抱歉!评论已关闭.