cocos2d-x 3.2 lua 怎样加载plist文件
2个回答
2016-02-23
展开全部
local cache = cc.AnimationCache:getInstance()
cache:addAnimations("animations-2.plist")
local animation
= cache:getAnimation("dance_1")
animation:setDelayPerUnit(0.25)
animation:setRestoreOriginalFrame(true)
local aniamte =
cc.Animate:create(animation)
sprite:runAction(cc.RepeatForever:create(aniamte))
注释:animations-2.plist 为list文件,dance_1为动画名字
原理:利用cocos2d-x里面的dickmake工具解析获取plist文件的信息,
文件分为连个部分,一部分是animation ,这个部分记录的是每个动画所对应的序列帧的图片
另外一部分是properties, 这个部分记录了需要加载的纹理图片(spritesheet)和格式信息(format)
format格式:分为1和2,待会解析序列帧的方式不一样
顺序:(1)如果有spritesheet,那么先加载里面的纹理图片
(3)根据格式,调用不同的方法解析spritesheet
(2)解析spritesheet,将帧图片加载到动画缓存里面
cache:addAnimations("animations-2.plist")
local animation
= cache:getAnimation("dance_1")
animation:setDelayPerUnit(0.25)
animation:setRestoreOriginalFrame(true)
local aniamte =
cc.Animate:create(animation)
sprite:runAction(cc.RepeatForever:create(aniamte))
注释:animations-2.plist 为list文件,dance_1为动画名字
原理:利用cocos2d-x里面的dickmake工具解析获取plist文件的信息,
文件分为连个部分,一部分是animation ,这个部分记录的是每个动画所对应的序列帧的图片
另外一部分是properties, 这个部分记录了需要加载的纹理图片(spritesheet)和格式信息(format)
format格式:分为1和2,待会解析序列帧的方式不一样
顺序:(1)如果有spritesheet,那么先加载里面的纹理图片
(3)根据格式,调用不同的方法解析spritesheet
(2)解析spritesheet,将帧图片加载到动画缓存里面
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询