lua - Defold timer.delay函数参数
问题描述
我对如何使用 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")
解决方案
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)
推荐阅读
- laravel - 如何在 laravel 查询中编写 where 条件?
- c++ - 如何在 C++ 中将向量拆分为三个变量
- html - 按钮背景错误
- c# - WebAPI 限制外部 HttpClient 调用以等待其他请求的结果
- flutter - Flutter 能否拍一张 Flutter 框架中所有类的类图?像UML图
- r - 在 R 中运行回归时出错:数学函数的非数字参数
- c# - 从依赖注入配置进行依赖调用
- openstack - 无法为 ML2 机制驱动程序开发安装 Devstack
- android - 用户提出新请求时如何取消协程?
- java - 有人知道在使用布局管理器的同时进行绝对定位的方法吗?