Lua错误创建类

我正在尝试为我的游戏创建一个类,但是我遇到了这个错误(在love2d中显示):尝试索引自由变量'World'(一个布尔值)

这是我创建的World文件:

local World = {}
World.__index = World

function World:new(meter, gravity)
    setmetatable({}, World)

    -- 设置物理参数
    love.physics.setMeter(meter)
    self.world = love.physics.newWorld(0, gravity*meter, true)

    -- 加载背景
    self.background = love.graphics.newImage("imgs/background.png")

    return self
end

function World:update(dt)

end

function World:draw()
    love.graphics.draw(self.background)
end

function World:destroy()
    -- 销毁世界
    self.world:destroy()
end

这里我调用了world:

local World = require("world")

function love.load()
    -- 建立世界
    world = World:new(32, 9.81)
end

有什么问题吗?无论如何,在Lua中制作类的最佳方法是什么?

点赞
用户1190388
用户1190388

world.lua 文件中,在结尾处添加 return World:

.
.
.
function World:destroy()
    -- Destroy the world
    self.world:destroy()
end

-- Add line below
return World
2016-02-09 18:16:32