lua脚本不认识self.id



我正在修改现有程序以实现新工具栏。该程序使用LUA脚本来处理Flash动画和命令的显示和处理。我可以调用flash动画窗口,但是添加命令侦听器失败的行。

hud.addfscommandlistener(self.file_swf,self.id)

错误是:"错误的参数类型。函数hud.addfscommandlistener(电影,entityID)期望类型指针的参数2(提供类型null)"。

我已经结束了整个系统,但我无法弄清楚自己在做什么,尽管我怀疑我的注册步骤是我做得不正确。我正在从事的游戏使用Cryengine,我发现没有很多人问有关它的问题。但是,如果此错误在另一个系统中具有某种模拟,那么也许这可能会激发我对我需要做的事情的想法。

谢谢。

您的问题可能是您需要实际做

HUD:AddFSCommandListener(self.file_SWF, self.id)

问题并不是它不是在识别self.id,而是当您使用点符号调用时,您传递的第一个参数将成为函数的"自我"参数,如果该函数本来是表函数。因此,它正在寻找的第二个Paramater实际上是零。

结肠函数符号是句法糖,用于隐式通过自我变量,其中自我变为表(在这种情况下为HUD)。因此,大多数LUA接口将开始从 second 参数进行计数。因此,它说的第二个实际上是第三个。

示例:

HUD = {}
function HUD:AddFSCommandListener(file, id)
end

实际上等同于此:

HUD = {}
HUD.AddFSCommandListener = function( self, file, id )
end

因此,当您用点而不是结肠呼叫时,将file_swf推入了最有可能将其作为自我参数的期望。

最新更新