Corona SDK/Lua 无法使用外部模块
Corona SDK/Lua Cannot use external modules
我最近开始使用 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' 时出错:
menu.lua:24 '' 预计在 'end' 附近
堆栈回溯:
C: 在函数中 'require'
?: 在函数中 'require'
main.lua:6 在主块中
您要重新启动该项目吗?
问题不在于 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>
被丢弃在某处)。
解决该(和任何其他)问题,您的模块应该可以正常加载。
首先,您不需要转换,它已包含在内。您必须以任何方式将函数添加到要返回的 table:
menu = {}
menu.backgroundStart = function ( )
menu.lua的最后一行应该是
return menu
然后,当您需要模块时,代码将执行并返回菜单 table,在 main.lua 中,您现在可以访问这些功能。
您确实在 menu.lua 模块的末尾有一个不需要的额外结尾。
我最近开始使用 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' 时出错: menu.lua:24 '' 预计在 'end' 附近 堆栈回溯: C: 在函数中 'require' ?: 在函数中 'require' main.lua:6 在主块中 您要重新启动该项目吗?
问题不在于 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>
被丢弃在某处)。
解决该(和任何其他)问题,您的模块应该可以正常加载。
首先,您不需要转换,它已包含在内。您必须以任何方式将函数添加到要返回的 table:
menu = {}
menu.backgroundStart = function ( )
menu.lua的最后一行应该是
return menu
然后,当您需要模块时,代码将执行并返回菜单 table,在 main.lua 中,您现在可以访问这些功能。
您确实在 menu.lua 模块的末尾有一个不需要的额外结尾。