方法一:
local texture = CCTextureCache:sharedTextureCache():addImage("dinnerJXZ.png")
local frameWidth = texture:getContentSize().width
local frameHeight = texture:getContentSize().height/3
local animFrames = CCArray:create()
for i=1,3 do
local rect = CCRectMake(0, frameHeight*(i-1), frameWidth, frameHeight)
local frame = CCSpriteFrame:createWithTexture(texture, rect)
animFrames:addObject(frame)
end
local animation = CCAnimation:createWithSpriteFrames(animFrames,0.10)
local animate = CCAnimate:create(animation)
if tag ==1 then
sprite = CCSprite:createWithSpriteFrame(animFrames:objectAtIndex(tag))
sprite:runAction(CCRepeatForever:create(animate))
dinnerLayer:addChild(sprite)
dinnerUI.restSprite1()
else
sprite2 = CCSprite:createWithSpriteFrame(animFrames:objectAtIndex(tag))
sprite2:runAction(CCRepeatForever:create(animate))
dinnerLayer:addChild(sprite2)
sprite2:setRotation(180)
dinnerUI.restSprite2()
end
dinnerUI.moveSprite(tag)
方法2:
local animFrames = CCArray:create()
for i=1,3 do
--
local frame = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName("dinnerArrow"..i..".png")
animFrames:addObject(frame)
end
local animation = CCAnimation:createWithSpriteFrames(animFrames,0.10)
local animate = CCAnimate:create(animation)
方法三:
local sprite1 = CCSprite:createWithSpriteFrameName("dinnerjxz1.png")
local sprite2 = CCSprite:createWithSpriteFrameName("dinnerjxz2.png")
local sprite3 = CCSprite:createWithSpriteFrameName("dinnerjxz3.png")
local frame1 = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName("dinnerjxz1.png")
local frame2 = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName("dinnerjxz2.png")
local frame3 = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName("dinnerjxz3.png")
local array = CCArray:create()
array:addObject(CCDelayTime:create(0.5))
array:addObject(CCCallFuncN:create(function()
sprite1:setDisplayFrame(frame3)
end))
array:addObject(CCDelayTime:create(0.5))
array:addObject(CCCallFuncN:create(function()
sprite1:setDisplayFrame(frame2)
end))
array:addObject(CCDelayTime:create(0.5))
array:addObject(CCCallFuncN:create(function()
sprite1:setDisplayFrame(frame1)
end))
local seqAction = CCSequence:create(array)
local repeatForever = CCRepeatForever:create(tolua.cast(seqAction,"CCActionInterval"))
sprite1:runAction(repeatForever)