lua闭包相关 cc.CallFunc:create 的一个问题

local nxtpoint=self:calcNextPoint()
local actionMove = cc.MoveTo:create(1, nxtpoint)
print("address:"..tostring(self))
local function start_move()
    --两个地址都一样的 
    print("now address"..tostring(self))
    local nxtpoint=self:calcNextPoint()
    local actionMove = cc.MoveTo:create(3, nxtpoint)
    self.sprite:runAction(actionMove)
end   
local seq = cc.Sequence:create(actionMove,cc.CallFunc:create(start_move))
self.sprite:runAction(seq)

为什么在 start_move 里面 self 就找不到 calcNextPoint 提示函数是nil 打印出来 两个地址都是一样的
百思不得其解呀!!

local seq = cc.Sequence:create(cc.CallFunc:create(start_move),actionMove)
交换两个的位置 又能正常调用 这是什么原因:sweat_smile:

亲测没问题 应该是你其他的代码有问题

我也会遇见这种问题,小概率事件最后没有remove掉

加个中括号试试?cc.Sequence:create({action1,action2})

估计是lua的问题 是我写得太复杂了,已经改过了