【问题标题】:Defold timer.delay function parameterDefold timer.delay函数参数
【发布时间】:2020-05-12 00:21:03
【问题描述】:

我对如何使用 timer.delay 函数感到困惑。我知道第一个参数是延迟秒数;二是是否要重复;第三个是在计时器耗尽后使用的回调函数。据我了解,回调是作为参数的另一个函数。不过,defold 网站上的页面提供了一个已插入参数的函数

      callback function(self, handle, time_elapsed) timer callback function

我正在尝试使用 timer.delay 函数,例如

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

function pr()
    print("Function activated")

【问题讨论】:

  • 嗨@Trying_to_work!我是 Defold 的开发者之一,我有点好奇为什么你更喜欢这个论坛而不是我们自己的 Defold 用户专用论坛? (forum.defold.com) 我们也有一个闲置频道,您也可以在这里提问。附:也不要忘记将您的问题标记为已解决(如果已解决),以便那些回答您问题的人能够得到他们的认可。

标签: lua defold


【解决方案1】:

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

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

你可以这样做:

local function myCallback(obj, handle, elapsed)
  print("Timer with handle " .. handle .. " triggered after " .. elapsed .. "s")
end

timer.delay(10, true, myCallback)

或者只是提供一个匿名函数:

timer.delay(10, true, function (obj, handle, elapsed)
    print("Timer with handle " .. handle .. " triggered after " .. elapsed .. "s")
  end)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多