Function 调用外部函数
我有block_basic.lua,我想调用touch_input.lua中的另一个函数 block_basic.lua具有以下功能: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
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文件中需要它;仍然不能称之为(只得到零)