急求帮助!关于cocos2dx 3.17.2 不执行 cc.DelayTime:create(delay)。

cocos2dx-lua 3.17.2 在真机上不运行 cc.DelayTime:create(delay)。函数如下:

function performWithDelay(node, callback, delay)
local delay = cc.DelayTime:create(delay)
local sequence = cc.Sequence:create(delay, cc.CallFunc:create(callback),NULL)
node:runAction(sequence)
return sequence
end

action2=(function()
print(“22”)
end)
performWithDelay(self,action2,3.0)

模拟器上执行没有任何问题,会打印出22. 但是上了真机之后,就是不执行打印,这个问题困扰了我几天,急求高手解答!!

试试这样写
local sequence = cc.Sequence:create(delay, cc.CallFunc:create(callback))
或者
local sequence = cc.Sequence:create(delay, cc.CallFunc:create(callback),{})

感谢回复。貌似没有作用。后来我又换成调用系统的函数:
performWithDelay(self,action2,3.0)

依然没卵用。但是我新建一个cocos2dx lua 3.17.2的工程,把这句话加到DEMO里,上真机就能正确打印。我就觉得非常奇怪了。我的自己工程能跑真机,这句话也执行了,但是死活不回调这个 action2。

local delay = cc.DelayTime:create(3.0)
local cb = cc.CallFunc:create(function()
print(“回调函数”)
if callback then
callback()
end
end)
local sequence = cc.Sequence:create(delay, cc.CallFunc:create(callback),NULL)
node:runAction(cc.Sequence:create(delay,cb))

我这样写跑起来是有用的
你的方法node怎么传入的是一个self

self是一个Scene 的实例。搞了1天也没明白是咋回事。你QQ多少,我加你。帮我看看?解决了,发红包 :smile:

有没有一种可能,你在哪里调了node的stopAllaction :rofl: