直奔主题:
Lua里面播放Spine动画且在动画播放完成时加一个回调。
方法简单:
--播放动画
animation.AnimationState:SetAnimation(0, "ani name", loop)
--获取AnimationState
local animationState = animation.AnimationState
--定义Spine回调
local spine_cb=nil
spine_cb=function(trackEntry)
if cbthen
--执行目标回调函数
cb()
cb=nil
end
--回调完成移除Spine回调
animationState:Complete("-",spine_cb)
spine_cb=nil
end
--绑定Spine回调
animationState:Complete("+",spine_cb)
要注意的就是,回调完成之后一定得手动移除当前animationState上的回调事件,不然会反复执行当前回调。