【问题标题】:Corona Simulator Syntax Error (Unexpected Symbol)电晕模拟器语法错误(意外符号)
【发布时间】:2013-12-03 17:08:33
【问题描述】:

我正在制作一个 Lua 应用程序。这是main.lua代码:

(这是在 Mac 上。)

display.setStatusBar (display.HiddenStatusBar)
local main.lua = require ("main.lua")             --[LINE WITH ERROR]
local director = require ("director")
local mainGroup = display.newGroup()

local function main()
    mainGroup:insert(director.directorView)
    director:changeScene("mainPage")
    return true
end

main()

这是我之后的错误报告,很简单,但我不确定它是关于什么的:

电晕模拟器语法错误 文件:/Users/[我的电脑名]/Desktop/Corona App/main.lua 线路:4 '.' 附近出现意外符号

【问题讨论】:

  • 我删除了该行,然后收到 2 个错误报告。 :0
  • 模块 'sprite' 未找到:资源 (sprite.lu) 在存档中不存在 没有字段 package.preload['sprite'] 没有文件 '/Users/christopherujhazy/Library/Application Support/Corona /Simulator/Plugins/sprite.lua'没有文件'/Users/christopherujhazy/Desktop/Corona App/sprite.lua'没有文件'/Applications/CoronaSDK/Corona Simulator.app/Contents/Resources/sprite.lua'没有文件' /Users/christopherujhazy/Library/Application Support/Corona/Simulator/Plugins/sprite.dylib'没有文件'./sprite.dylib'没有文件'/Applications/CoronaSDK/Corona Simulator.app/Contents/Resources/sprite.dylib'
  • 还有其他:文件:...rs/christopherujhazy/Desktop/Corona App/director.lua 行:135 错误:需要表。如果这是一个函数调用,您可能使用了 '.'而不是':'
  • 堆栈回溯:[C]:? [C]:在函数“插入”中 ...rs/christopherujhazy/Desktop/Corona App/director.lua:135:在函数“_listener”中?:在函数 中?:在函数 中(抱歉,cmets 太长了。)

标签: lua coronasdk


【解决方案1】:

本地人的语法是local <simple-name>。因此,这里不允许使用main.lua

【讨论】:

  • 我收到了 2 个错误报告,我不小心把它们放在了您的答案之上。你可以在上面的这个页面上找到它们。 -CodingInLua
  • 我实际上在原始代码中没有require main.lua,它似乎只是将错误报告简化了很多,所以我就照做了。如果有其他解决方案,请说出来。谢谢,CodingInLua
【解决方案2】:

您只需要执行以下操作(在您的 main.lua 中):

display.setStatusBar(display.HiddenStatusBar)
local director=require("director")
local maingroup=display.newGroup()
maingroup:insert(director.directorView)
director:changeScene("yourFirstScene")
return maingroup

注意:确保director.luayourFirstScene.lua 存在于您的main.lua 所在的同一文件夹中

继续编码............ :)

【讨论】:

  • 当它工作时,我有一个 main() ,然后在你输入的行之后结束。这会影响程序吗?
  • 您是否在代码中提到了调用main()?不会影响的。仅表示main()的函数调用。如果您按照我上面给出的方式进行操作,则无需添加 main() ,因为这里我直接调用下一页,而不是将其添加到另一个函数中... :)
  • 它在本地 maingroup=display.newGroup() 行中显示 '' 预期在 'local' 附近我知道这意味着文件结束,但我该如何阻止它?跨度>
  • 对不起,我的错误。我的答案的最后一行有错误。将return main group 更改为return maingroup [主组和组之间没有间隙。这是由于自动更正语法而发生的错误,对不起,继续编码.....:)]。
  • 这没什么区别,我得到相同的错误报告。我可能会将其变成一个完整的问题,以便更多人也可以尝试提供帮助。
【解决方案3】:

不要写:

local main.lua = require ("main.lua") -- as 'lhf' said.

如果你使用的是director类,那么正如krs所说,你只需要在main.lua中添加以下几行:

  local director=require("director")  -- import director class(make sure the class exist)
  local parentGroup=display.newGroup() -- create new display group namely 'parentGroup'
  parentGroup:insert(director.directorView) -- insert director view to 
  director:changeScene("yourFirstScene") -- call next class(make sure the class exist)
  return parentGroup -- return 'parentGroup'

【讨论】:

  • 我拥有所有这些,并且我在问题下方的 cmets 中有错误报告(它们真的很长)。在我看来,根据报告,director 文件中的代码存在问题。
【解决方案4】:
local main.lua = require ("main.lua")

这就是你的代码。 不要输入,输入这个

local main = require ("main.lua")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多