帧动画

cocos2d+lua实现帧动画播放

守給你的承諾、 提交于 2020-04-06 19:46:00
使用Cocos2d播放帧动画的方法有两种: 先来介绍一下流程: 1.得到动画的每一帧的数组FrameArray 2.将帧动画数组包装成Animation对象 3.将Animation对象转化为可以播放的Action对象 4.使用Sprite来播放Action 第一种: 使用TexturePicture来压缩图,用CCSpriteFrameCache来加载 --建立一个Cache来加载解压出的图片 local frameCache = CCSpriteFrameCache:create() frameCache:addSpriteFrameWithFile("abc.plist","abc.png") local frameArr = CCArray:createWithCapacity(图片总数) --建立一个数组来粗放得到的帧 for j=0,图片总数减一 do local framePath = string.format("abc.%5dpng",j) --将每个帧图片转换成帧Frame local frame = frameCache:spriteFrameByName(framePath) frameArr.addObject(frame) end --array 中已经有了Frame了,下来需要将其生成为Animation对象 local animation =

Cocos2d-x Lua中实例:帧动画使用

佐手、 提交于 2019-11-30 12:51:53
下面我们通过一个实例介绍一下帧动画的使用,这个实例如下图所示,点击Go按钮开始播放动画,这时候播放按钮标题变为Stop,点击Stop按钮可以停止播放动画。 帧动画实例 下面我们再看看具体的程序代码,首先看一下看GameScene.lua文件,它的代码如下: [html] view plain copy local isPlaying = false -- 播放标识 ① local size = cc .Director:getInstance():getWinSize() … … -- create layer function GameScene:createLayer() local layer = cc .Layer:create() local spriteFrame = cc .SpriteFrameCache:getInstance() spriteFrame:addSpriteFramesWithFile("run.plist") local bg = cc .Sprite:createWithSpriteFrameName("background.png") bg:setPosition(cc.p(size.width/2, size.height/2)) layer:addChild(bg) local sprite = cc .Sprite