cocos2dx-lua 序列帧动画Animation

简介

Cocos2d-x中,动画的具体内容是依靠精灵显示出来的,为了显示动态图片,我们需要不停切换精灵显示的内容,通过把静态的精灵变为动画播放器从而实现动画效果。动画由帧组成,每一帧都是一个纹理,我们可以使用一个纹理序列来创建动画。

我们使用Animation类描述一个动画,而精灵显示动画的动作则是一个Animate对象。动画动作Animate是精灵显示动画的动作,它由一个动画对象创建,并由精灵执行。

需要了解的几个类:

  • SpriteFrame:精灵帧类。精灵帧包含了对应纹理在大的纹理区域中的位置和大小, 对应纹理是否经过旋转和偏移。根据这些几何信息,可以从大的纹理中找到正确的纹理区域作为精灵帧显示的图像。getOriginalSize()获取精灵帧原始尺寸。通过SpriteFrameCache类中SpriteFrame* getSpriteFrame(frameName)的获得。
  • SpriteFrameCache:精灵帧缓存类。存放了多个精灵帧,通过字典的方式存储单个精灵帧,key:精灵帧的名字,值: SpriteFrame。
  • AnimationFrame:动画帧信息类。存储的是对应的精灵帧信息。通过Animationconst Vector<AnimationFrame*>& getFrames()函数获得。该类中也可以通过函数SpriteFrame* getSpriteFrame()获取SpriteFrame对象
  • Animation:动画信息类。存储了所有的动画帧信息,一般通过create()或者createWithSpriteFrames()方法创建。
  • Animate: 动画处理类。真正完成动画表演的类。
添加精灵帧至缓存

把多张帧动画散图打成合图,生成plist、png文件,plist文件记载着每一帧在png中的位置信息。

    local plist, png = "plistname.plist", "pngname.png"
    cc.SpriteFrameCache:getInstance():addSpriteFrames
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值