Defold定时器延迟函数参数

我对如何使用定时器延迟函数感到困惑。我知道第一个参数是延迟的秒数;第二个参数是它是否应该重复;第三个参数是定时器计时完后使用的回调函数。我理解回调函数是另一个函数作为参数。然而,Defold网站上的页面给出了一个已经插入参数的函数。

       回调函数(self,handle,time_elapsed) 定时器回调函数

我正在尝试像这样使用timer.delay函数

timer.delay(5false,pr(self"handle""2"))

function pr()
    print("函数已激活")
点赞
用户2858170
用户2858170

callback 参数是一个将被调用的函数。当你的计时器触发时,此函数将被调用。如果需要,在回调函数中,你可以使用在回调函数中调用的 3 个参数。

文档中的 function(self, handle, time_elapsed) 告诉你如何调用回调函数。第一个参数是 self,第二个是计时器句柄,第三个是经过的时间。

你可以像这样做:

local function myCallback(obj, handle, elapsed)
  print("计时器 " .. handle .. " 触发,经过了 " .. elapsed .. " 秒")
end

timer.delay(10, true, myCallback)

或者直接提供一个匿名函数:

timer.delay(10, true, function (obj, handle, elapsed)
    print("计时器 " .. handle .. " 触发,经过了 " .. elapsed .. " 秒")
  end)
2020-05-12 06:22:03