感谢点评与关注,欢迎转载与分享。
勤奋努力,持之以恒!
local size = CCDirector:sharedDirector():getWinSize()
local scheduler = CCDirector:sharedDirector():getScheduler()
local sp1 = nil
local sp2 = nil
local sp3 = nil
local function createSimpleMoveBy()
return CCMoveBy:create(3,ccp(size.width-130,0))
--return CCRotateBy:create(3,360)
--return CCScaleBy:create(3,2)
--return CCJumpBy:create(3,ccp(800,0),50,5)
--return CCBlink:create(3,10)
--return CCFadeIn:create(3)
end
local function createSimpleDelayTime()
return CCDelayTime:create(0.25)
end
local function getBaseLayer()
local layer = CCLayer:create()
sp1 = CCSprite:create("man.png")
sp2 = CCSprite:create("blackgirl.png")
sp3 = CCSprite:create("whitegirl.png")
layer:addChild(sp1,3)
layer:addChild(sp2,2)
layer:addChild(sp3,1)
sp1:setPosition(ccp(60,size.height*1/5))
sp2:setPosition(ccp(60,size.height*2.5/5))
sp3:setPosition(ccp(60,size.height*4/5))
return layer
end
local function SpriteEaseElastic()
local layer = getBaseLayer()
local move = createSimpleMoveBy()
local move_back = move:reverse()
local arr1 = CCArray:create()
arr1:addObject(move)
arr1:addObject(createSimpleDelayTime())
arr1:addObject(move_back)
arr1:addObject(createSimpleDelayTime())
sp1:runAction(CCRepeatForever:create(CCSequence:create(arr1)))
local move_ease_elastic_in = CCEaseElasticIn:create(createSimpleMoveBy()) --让目标动作赋予弹性 ,且以目标动作起点位置赋予弹性
local move_ease_elastic_in_back = move_ease_elastic_in:reverse()
local arr2 = CCArray:create()
arr2:addObject(move_ease_elastic_in)
arr2:addObject(createSimpleDelayTime())
arr2:addObject(move_ease_elastic_in_back)
arr2:addObject(createSimpleDelayTime())
sp2:runAction(CCRepeatForever:create(CCSequence:create(arr2)))
local move_ease_elastic_out = CCEaseElasticOut:create(createSimpleMoveBy()) --让目标动作赋予弹性 ,且以目标动作终点位置赋予弹性
local move_ease_elastic_out_back = move_ease_elastic_out:reverse()
local arr3 = CCArray:create()
arr3:addObject(move_ease_elastic_out)
arr3:addObject(createSimpleDelayTime())
arr3:addObject(move_ease_elastic_out_back)
arr3:addObject(createSimpleDelayTime())
sp3:runAction(CCRepeatForever:create(CCSequence:create(arr3)))
return layer
end
local function SpriteEaseElasticInOut()
local layer = getBaseLayer()
local move_elastic_inout1 = CCEaseElasticInOut:create(createSimpleMoveBy(),0.3) --让目标动作赋予弹性 ,且以目标动作起点和终点位置赋予弹性
local move_elastic_inout1_back = move_elastic_inout1:reverse()
local arr1 = CCArray:create()
arr1:addObject(move_elastic_inout1)
arr1:addObject(createSimpleDelayTime())
arr1:addObject(move_elastic_inout1_back)
arr1:addObject(createSimpleDelayTime())
sp1:runAction(CCRepeatForever:create(CCSequence:create(arr1)))
local move_elastic_inout2 = CCEaseElasticInOut:create(createSimpleMoveBy(),0.45)
local move_elastic_inout2_back = move_elastic_inout2:reverse()
local arr2 = CCArray:create()
arr2:addObject(move_elastic_inout2)
arr2:addObject(createSimpleDelayTime())
arr2:addObject(move_elastic_inout2_back)
arr2:addObject(createSimpleDelayTime())
sp2:runAction(CCRepeatForever:create(CCSequence:create(arr2)))
local move_elastic_inout3 = CCEaseElasticInOut:create(createSimpleMoveBy(),0.6)
local move_elastic_inout3_back = move_elastic_inout3:reverse()
local arr3 = CCArray:create()
arr3:addObject(move_elastic_inout3)
arr3:addObject(createSimpleDelayTime())
arr3:addObject(move_elastic_inout3_back)
arr3:addObject(createSimpleDelayTime())
sp3:runAction(CCRepeatForever:create(CCSequence:create(arr3)))
return layer
end
local scene = CCScene:create()
scene:addChild(SpriteEaseElasticInOut())
CCDirector:sharedDirector():runWithScene(scene)
local function SpriteEaseBounce()
local layer = getBaseLayer()
local move = createSimpleMoveBy()
local move_back = move:reverse()
local arr1 = CCArray:create()
arr1:addObject(move)
arr1:addObject(createSimpleDelayTime())
arr1:addObject(move_back)
arr1:addObject(createSimpleDelayTime())
sp1:runAction(CCRepeatForever:create(CCSequence:create(arr1)))
local move_ease_bounceIn = CCEaseBounceIn:create(createSimpleMoveBy()) --让目标动作赋予反弹力,且以目标动作起始位置开始反弹
local move_ease_bounceIn_back = move_ease_bounceIn:reverse()
local arr2 = CCArray:create()
arr2:addObject(move_ease_bounceIn)
arr2:addObject(createSimpleDelayTime())
arr2:addObject(move_ease_bounceIn_back)
arr2:addObject(createSimpleDelayTime())
sp2:runAction(CCRepeatForever:create(CCSequence:create(arr2)))
local move_ease_bounceOut = CCEaseBounceOut:create(createSimpleMoveBy()) --让目标动作赋予反弹力,且以目标动作结束位置开始反弹
local move_ease_bounceOut_back = move_ease_bounceOut:reverse()
local arr3 = CCArray:create()
arr3:addObject(move_ease_bounceOut)
arr3:addObject(createSimpleDelayTime())
arr3:addObject(move_ease_bounceOut_back)
arr3:addObject(createSimpleDelayTime())
sp3:runAction(CCRepeatForever:create(CCSequence:create(arr3)))
return layer
end
local function SpriteEaseBounceInOut()
local layer = getBaseLayer()
local move = createSimpleMoveBy()
local move_back = move:reverse()
local arr1 = CCArray:create()
arr1:addObject(move)
arr1:addObject(createSimpleDelayTime())
arr1:addObject(move_back)
arr1:addObject(createSimpleDelayTime())
sp1:runAction(CCRepeatForever:create(CCSequence:create(arr1)))
local move_ease_bounceInOut = CCEaseBounceInOut:create(createSimpleMoveBy()) --让目标动作赋予反弹力,且以目标动作起始与结束位子开始反弹
local move_ease_bounceInOut_back = move_ease_bounceInOut:reverse()
local arr2 = CCArray:create()
arr2:addObject(move_ease_bounceInOut)
arr2:addObject(createSimpleDelayTime())
arr2:addObject(move_ease_bounceInOut_back)
arr2:addObject(createSimpleDelayTime())
sp2:runAction(CCRepeatForever:create(CCSequence:create(arr2)))
return layer
end
local function SpriteEaseBack()
local layer = getBaseLayer()
local move = createSimpleMoveBy()
local move_back = move:reverse()
local arr1 = CCArray:create()
arr1:addObject(move)
arr1:addObject(createSimpleDelayTime())
arr1:addObject(move_back)
arr1:addObject(createSimpleDelayTime())
sp1:runAction(CCRepeatForever:create(CCSequence:create(arr1)))
local move_ease_backIn = CCEaseBackIn:create(createSimpleMoveBy()) --让目标动作赋予回力,且以目标动作起点位置作为回力点
local move_ease_backIn_back = move_ease_backIn:reverse()
local arr2 = CCArray:create()
arr2:addObject(move_ease_backIn)
arr2:addObject(createSimpleDelayTime())
arr2:addObject(move_ease_backIn_back)
arr2:addObject(createSimpleDelayTime())
sp2:runAction(CCRepeatForever:create(CCSequence:create(arr2)))
local move_ease_backOut = CCEaseBackOut:create(createSimpleMoveBy()) --让目标动作赋予回力,且以目标动作终点位置作为回力点
local move_ease_backOut_back = move_ease_backOut:reverse()
local arr3 = CCArray:create()
arr3:addObject(move_ease_backOut)
arr3:addObject(createSimpleDelayTime())
arr3:addObject(move_ease_backOut_back)
arr3:addObject(createSimpleDelayTime())
sp3:runAction(CCRepeatForever:create(CCSequence:create(arr3)))
return layer
end
local function SpriteEaseBackInOut()
local layer = getBaseLayer()
local move = createSimpleMoveBy()
local move_back = move:reverse()
local arr1 = CCArray:create()
arr1:addObject(move)
arr1:addObject(createSimpleDelayTime())
arr1:addObject(move_back)
arr1:addObject(createSimpleDelayTime())
sp1:runAction(CCRepeatForever:create(CCSequence:create(arr1)))
local move_ease_back_inout = CCEaseBackInOut:create(createSimpleMoveBy()) --让目标动作赋予回力,且以目标动作起点和终点位置作为回力点
local move_ease_back_inout_back = move_ease_back_inout:reverse()
local arr2 = CCArray:create()
arr2:addObject(move_ease_back_inout)
arr2:addObject(createSimpleDelayTime())
arr2:addObject(move_ease_back_inout_back)
arr2:addObject(createSimpleDelayTime())
sp2:runAction(CCRepeatForever:create(CCSequence:create(arr2)))
return layer
end
local scheduler = CCDirector:sharedDirector():getScheduler() local speed_act1 = nil local speed_act2 = nil local speed_act3 = nil local function altertime() speed_act1:setSpeed(math.random()*2) speed_act2:setSpeed(math.random()*2) speed_act3:setSpeed(math.random()*2) end local function SpeedTest_onEnterOrExit(tag) if tag == "enter" then SpeedTest_entry = scheduler:scheduleScriptFunc(altertime, 1.0, false) elseif tag == "exit" then scheduler:unscheduleScriptEntry(SpeedTest_entry) end end local function SpriteSpeed() local layer = getBaseLayer() local jump1 = CCJumpBy:create(4,ccp(size.width-80,0),100,4) local jump2 = jump1:reverse() local rot1 = CCRotateBy:create(4,360*4) local rot2 = rot1:reverse() local seq1 = CCSequence:createWithTwoActions(jump1,jump2) local seq2 = CCSequence:createWithTwoActions(rot1,rot2) local spawn1 = CCSpawn:createWithTwoActions(seq1,seq2) local spawn2 = tolua.cast(spawn1:copy():autorelease(),"CCSpawn") local spawn3 = tolua.cast(spawn1:copy():autorelease(),"CCSpawn") speed_act1 = CCSpeed:create(CCRepeatForever:create(spawn1),1) --设置目标动作运行速率 speed_act2 = CCSpeed:create(CCRepeatForever:create(spawn2),1) speed_act3 = CCSpeed:create(CCRepeatForever:create(spawn3),1) sp1:runAction(speed_act1) sp2:runAction(speed_act2) sp3:runAction(speed_act3) layer:registerScriptHandler(SpeedTest_onEnterOrExit) return layer end