带Corona SDK的模块化类

时间:2014-03-13 03:44:37

标签: lua corona

我试图创建一个类来在屏幕上生成一些新对象。我跟随this tutorial

我的目标是做一些事情链接:

local box = box.new( "First", 0, 62 ) -- Spawn a Box on the Screen on X = 0, Y = 62

这是我的班级:

 box.lua

local box = {}
local box_mt = {__index = box } -- metatable 

function box.new (nome, x, y)
    local newbox = {
        local nome = display.newImageRect( "images/box.png", 210, 70 )
         newbox.x = x
         newbox.y = y
     }
     return setmetatable( newbox, box_mt )
}
end

到目前为止只是在level1.lua上做require ("box")我的游戏崩溃了

This is the error
Failed to parse error message: error loading module 'level1' from file '/Users/mc309bza/Desktop/Corona/Platform/level1.lua':
    /Users/mc309bza/Desktop/Corona/Platform/level1.lua:28: syntax error near 'function'

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

桌子的右括号位置错误。使用:

local newbox = {}
local nome = display.newImageRect( "images/box.png", 210, 70 )
newbox.x = x
newbox.y = y

请勿忘记删除newbox后的关闭}。但是,如果您的意图是自动创建框,则应该使用函数,因为display.newImageRect已经是一个类。使用功能:

function myNewBox(x, y)
    local nome = display.newImageRect( "images/box.png", 210, 70 )
    nome.x = x
    nome.y = y
    ... other nome settings ...
    return nome
end