1

假设我有以下功能:

function onTilt( event )
    physics.setGravity( (-9.8*event.yGravity), (-9.8*event.xGravity) ) --Το σωστό
end

这将在许多不同的 lua 文件中使用。我想在一个外部文件中定义它,然后对这个文件使用require,所以我不会在每个lua文件中重复它。

问题是当这个函数在同一个文件中时,它的调用方式如下(不传递参数)

Runtime:addEventListener( "accelerometer", onTilt )

有人可以解释一下如何在外部文件中定义它以及如何调用吗?

4

1 回答 1

3

你可以试试这个最小的外部模块布局:

-- external module - file named "mymodule.lua"
local M = {}

function M.onTilt( event )
    physics.setGravity( (-9.8*event.yGravity), (-9.8*event.xGravity) )
end

return M

您可以在需要使用该功能的地方编写(假设mymodule.lua放在 Lua 搜索路径上的目录中):

local mymodule = require 'mymodule'    

-- ... other code ...

Runtime:addEventListener( "accelerometer", mymodule.onTilt )
于 2013-10-07T13:08:25.283 回答