cocos2dx使用帧动画

开发环境:cocos2dx 3.17
开发语言:lua

一般来说,使用cocos2d_x开发游戏的时候都有两种做UI的方式,一种是用代码手写,一种是用cocos studio做UI,帧动画也一样,可以用这里两种方式,下面介绍博主常用的两种方法。

代码手写帧动画

博主这里是先将用来做帧动画的图片合成plis合图,然后创建一个精灵。用plist合图中的图片不断的去替换原来精灵的图片。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cc.SpriteFrameCache:getInstance():addSpriteFrames("tupian.plist")
local Circle_sp = cc.Sprite:createWithSpriteFrameName("1.png")
Circle_sp:move(a_x,a_y)
Circle_sp:addTo(self._lr , 1)
local animation = cc.Animation:create()
for i=1,6 do
local _frame = cc.SpriteFrameCache:getInstance():getSpriteFrame( i ..".png")
if _frame then
animation:addSpriteFrame(_frame)
end
end
animation:setDelayPerUnit(0.08) --设置两个帧播放时间
animation:setRestoreOriginalFrame(false) --动画执行后还原初始状态
local action = cc.Animate:create(animation)
local hide = cc.CallFunc:create(function()
local fadein = cc.FadeIn:create(0.08)
local fadeout = cc.FadeOut:create(0.08)
local delay = cc.DelayTime:create(0.08)
Circle_sp:runAction(cc.Sequence:create(fadein,delay,fadeout))
end)
local delay = cc.DelayTime:create(0.5)
Circle_sp:runAction(cc.Sequence:create(action,delay,hide))

用cocos studio 做帧动画

需要自己在cocos studio 上提前做好相应的帧动画