本文介绍Quick帧动画执行步骤,C++项目和帧动画原理请参考:
http://blog.csdn.net/ellis1970/article/details/79124686
和C++项目相比,Quick播放帧动画有些限制条件:无法以离散的图片文件播放帧动画,只支持plist+png格式,plist可以理解为描述散图在合图上位置坐标的数据文件
使用合图加载纹理有3个好处:1.减少占用磁盘存储空间 2.减少占用内存空间 3.减少CPU开销
可以使用CocosStudio1.6导出合图和对应的plist文件,下载地址:
http://cocostudio.download.appget.cn/CocosStudio/v1.6.0.0/CocosStudio_v1.6.0.0.exe
制作合图时,只需要将所用的散图拖入到Panel下,成为Panel的子节点,位置随意摆放,之后文件->导出,选择导出使用大图后确定就可获得plist文件与合图
注意:制作合图之前,要先对散图进行命名,例如"picture0"这类命名方式,因为之后需要通过散图名字获得精灵帧数组.
示例代码:
--1.通过文件加载精灵帧
display.addSpriteFrames("anim64.plist","anim64.png")
--2.根据散图名获取精灵帧数组
local frames = display.newFrames("a%d.png",0,6)--这里散图名为a0.png-a5.png
--3.根据精灵帧数组获取动画
local animation = display.newAnimation(frames,0.2)
--4.通过动画获得动作
local animate = cc.Animate:create(animation)
--5.创建精灵
local sprite = display.newSprite("#a0.png")
sprite:setPosition(480,320)
sprite:addTo(self)
--6.执行帧动画
sprite:runAction(animate)