[英]Lua error to create a class
I'm trying to create a class for my game and I got this error (shown in love2d): attempt to index upvalue 'World' (a boolean value) 我正在尝试为我的游戏创建一个类,但出现此错误(如love2d所示): 尝试索引升值的“世界”(布尔值)
This is my World file I made: 这是我制作的世界文件:
local World = {}
World.__index = World
function World:new(meter, gravity)
setmetatable({}, World)
-- Set physics parameters
love.physics.setMeter(meter)
self.world = love.physics.newWorld(0, gravity*meter, true)
-- Load background
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()
-- Destroy the world
self.world:destroy()
end
And here I call the world: 在这里,我称世界:
local World = require("world")
function love.load()
-- Build the world
world = World:new(32, 9.81)
end
What is wrong? 怎么了? Anyway, what is the best way for make a class in Lua?
无论如何,在Lua上课的最好方法是什么?
In the world.lua
file, put a return World
at the end: 在
world.lua
文件中,将return World
放在末尾:
.
.
.
function World:destroy()
-- Destroy the world
self.world:destroy()
end
-- Add line below
return World
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.