cocos2d-x lua 动作(动画)回调

时间:2023-02-08 19:44:14


最近又开始搞客户端了。


```lua
local callbackFunc = function ()
--do something
g_i3k_ui_mgr:CloseUI(eUIID_BattleShowExp)
end
local move = cc.MoveTo:create(0.8, self.needPos)
local fadeOut = cc.FadeOut:create(0.8 )
local spawn = cc.Spawn:create(fadeOut, move)
local seq = cc.Sequence:create(spawn, cc.CallFunc:create(callbackFunc) )
--[[
cc.Spawn的几个动作是同步执行的,cc.Sequence则是顺序执行各个动作的.
使用这样的嵌套动作,能在播放完 Spawn 动作之后执行关闭界面的操作
]]
self._widgets.explist.expbg[self._curexpindex]:runAction(seq)
```


需求是在播放完动画之后要关闭这个界面。

那么最后的做法就是在播放完这个动作之后执行一个回调函数。

这里有几个动作,cc.MoveTo   是移动,cc.FadeOut是渐变,  cc.Spawn是几个动作合并在一起执行, cc.Sequence是顺序执行的动作。

最开始是把callBack放在了spawn这个动作中执行callback,发现每次都是刚播放动作就关闭了这个界面,所以根本看不到这个界面,修改为如上代码之后,就能正常按照顺序执行了。