我最近开始使用Corona SDK在Lua中编程来制作应用程序而我无法使用main.lua来使用menu.lua的功能 . 我一直在收到错误 . 这是我的代码 . 谢谢你的时间 .
--main.lua--
local menu = require( "menu" )
menu.backgroundStart()
--menu.lua--
local transition = require("transition")
menu = {}
backgroundStart = function ( )
local background = display.setBackground( 0, 0, 0)
animationStart();
end
animationStart = function ()
local pixelRadius = 5
local xCenter = math.random(0, display.contentWidth)
local yCenter = math.random(0, display.contentHeight)
local whiteCircles = display.newCircle( background, xCenter, yCenter, pixelRadius )
whiteCircles.setBackground(255,255,255);
transition.fadeIn( whiteCircles, { time = 200, delay = 10 } )
end
return M;
end
我得到的错误有这样的文字:错误加载模块'menu'来自文件'menu.lua':menu.lua:24''预计在'end'堆栈追溯附近:C:在函数'require'?:in function'要求'main.lua:6在主要块中你想重新启动项目吗?
2 回答
问题不在于Corona或使用外部模块 . 如错误消息所示(
error loading module 'menu' from file 'menu.lua': menu.lua:24 '' expected near 'end'
),问题出现在menu.lua
的第24行,这意味着文件已正确加载 . 我的猜测是你在第24行还有一个end
语句,这会产生'<eof>' expected near 'end'
消息(并且<eof>
在某处被删除) .修复(和任何其他)问题,您的模块应该正常加载 .
首先,您不需要转换,它包括在内 . 任何方式你必须将你的功能添加到你正在返回的表中:
menu.lua的最后一行应该是
然后,当您需要该模块时,代码将执行并返回菜单表,而在main.lua中,您现在可以访问这些函数 .
您在menu.lua模块的末尾有一个额外的结尾,您不需要 .