【发布时间】:2016-07-14 08:46:30
【问题描述】:
我在 Unity 的 C# 脚本中遇到回调函数问题。
在 Corona SDK 中,如果您想执行回调,只需将其作为参数传递,然后在适当的位置调用即可。
local function boom()
print("booom!!!")
end
local function bang()
print("baaaang!!!")
end
local function selector(var, func1, func2)
if var > 0 then
func1()
else
func2()
end
end
selector(5, boom, bang)
selector(-12, boom, bang)
我得到:
booom!!!
baaaang!!!
哪个是正确的。
但是当我尝试在 Unity 的 C# 脚本中实现它时,我遇到了很多问题。首先,仅传递一个参数是不够的。您需要在selector() 函数中指定变量的类型。所以我必须为func1 和func2 指定类名。但是,如果我希望能够从多个脚本中调用它并传递不同的回调函数呢?然后我无法将类指定为类型。
我找到了一些教程,但没有一个能解决我的问题。它们都描述了如何在一个类中或仅从一个预定义的类中执行此操作
【问题讨论】:
标签: c# unity3d lua callback coronasdk