Function 调用外部函数

Function 调用外部函数,function,lua,coronasdk,Function,Lua,Coronasdk,我有block_basic.lua,我想调用touch_input.lua中的另一个函数 block_basic.lua具有以下功能: local screen_touch = require( "touch_input") local onScreenTouch = screen_touch.onScreenTouch local function touched( event ) -- 'self' parameter exists via the ':' in function defi

我有block_basic.lua,我想调用touch_input.lua中的另一个函数

block_basic.lua具有以下功能:

local screen_touch = require( "touch_input")
local onScreenTouch = screen_touch.onScreenTouch

local function touched( event )
-- 'self' parameter exists via the ':' in function definition

print(onScreenTouch, screen_touch, event)

end
从我所看到的事件似乎是正确的(一张桌子),触摸屏也是正确的。但是这个功能(screen_touch.onScreenTouch)总是为零,我不知道为什么

在touch_input.lua中,我只需要:

local function onScreenTouch( event )
-- no 'self' parameter
等等等等


为什么是零?为什么我不能调用它?

touch\u input.lua中不显示返回的内容,但是如果您希望脚本的前两行正常工作,它需要如下所示:

local function onScreenTouch( event )
...
return {
  onScreenTouch = onScreenTouch
}

由于第2行没有出现运行时错误,您可能已经返回了一个表,但是您需要确保该表的
onScreenTouch
字段指向
onScreenTouch
函数。

以下是您的文件应该如何处理:

触摸输入。lua:

local M = {}

M.onScreenTouch = function( event )
    --some code here
end

return M
local screen_touch = require( "touch_input")

local onScreenTouch = screen_touch.onScreenTouch


print(onScreenTouch, screen_touch, event)
block\u basic.lua:

local M = {}

M.onScreenTouch = function( event )
    --some code here
end

return M
local screen_touch = require( "touch_input")

local onScreenTouch = screen_touch.onScreenTouch


print(onScreenTouch, screen_touch, event)
我测试过了。它100%有效

更多信息:




也许OP的代码与您的代码类似,但结尾有一个输入错误,如
onScreenTouch=onScreenTouch
。我现在只想“调用”远程函数(onScreenTouch)-但它似乎是“nil”,即使屏幕触摸(根据需要)看起来很好,但当前函数返回TRUE。我无法调用该函数,因为它被列为nil。已尝试此操作;看起来没什么区别检查这些链接:嗨,是的,我看过了。甚至创建了一个新函数。在另一个lua文件中需要它;仍然不能称之为(只得到零)