帧动画是个常见功能,我把这个封装成一个函数。
--帧动画
function MainScene:newFrameAnimation()
display.addSpriteFramesWithFile("loading.plist", "loading.png")
local frames = display.newFrames("loading%04d.png", 0, 11)
local sprite = display.newSprite("#loading0000.png", display.cx, display.cy)
local animation = display.newAnimation(frames, 0.8 / 11)
sprite:playAnimationForever(animation)
self:addChild(sprite)
end
然后调用:
function MainScene:ctor()
self:newFrameAnimation()
end
在实际使用中,可以新建一个层,然后把这个帧动画放到这个层里面。
function MainScene:newFrameAnimation()
local layer=display.newColorLayer(ccc4(0,0,0,150)):addTo(self,1000)
layer:setTouchEnabled(true)
display.addSpriteFramesWithFile("loading.plist", "loading.png")
local frames = display.newFrames("loading%04d.png", 0, 11)
local sprite = display.newSprite("#loading0000.png", display.cx, display.cy)
local animation = display.newAnimation(frames, 0.8 / 11)
sprite:playAnimationForever(animation)
layer:addChild(sprite)
end