代码1:
local action = cc.CSLoader:createTimeline(“GameScene.csb”)
node:runAction(action)
action:gotoFrameAndPlay(0, 60, true)
self:addChild(node)
local function onFrameEvent(frame)
cclog("***************")
if nil == frame then
return
end
local str = frame:getEvent()
cclog("str:"..str)
if str == "end" then
frame:getNode():setColor(cc.c3b(0, 0, 0))
end
end
action:setFrameEventCallFunc(onFrameEvent);
以上基本是官方的例子,动画正常播放,但无法正常进入帧事件!
代码2:
local action = cc.CSLoader:createTimeline(“GameScene.csb”)
node:runAction(action)
action:gotoFrameAndPlay(0, 60, true)
self:addChild(node)
local function onFrameEvent(frame)
cclog("***************")
if nil == frame then
return
end
local str = frame:getEvent()
cclog("str:"..str)
if str == "end" then
frame:getNode():setColor(cc.c3b(0, 0, 0))
end
end
action:setFrameEventCallFunc(onFrameEvent());
能进入帧事件,日志输出了:**************** 但无法得到frame。
需要registerScriptHandler() 一下
