我最近开始使用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.lua': menu.lua:24''预计将近'结束' 堆栈追溯: C:在功能中要求' ?:在功能中要求' main.lua:主要的6块 你想重新启动这个项目吗?
答案 0 :(得分:0)
问题不在于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>
被丢弃了。)
修复(以及任何其他)问题,并且您的模块应该正常加载。
答案 1 :(得分:0)
首先,您不需要转换,它包括在内。任何方式你必须将你的功能添加到你正在返回的表中:
menu = {}
menu.backgroundStart = function ( )
menu.lua的最后一行应该是
return menu
然后,当您需要该模块时,代码会执行并返回菜单表,而在main.lua中,您现在可以访问这些函数。
在menu.lua模块的末尾,你确实有一个额外的结局。