我正在关注tutorial正在教我如何制作平台游戏。在第二个教程中,我们开始制作渲染器。每当我运行代码并测试渲染器时,我都会收到此错误
Error: main.lua:24: attempt to index global 'renderer' (a nil value)
我没有想法如何修复它,所以这是我的代码。
renderer.lua
local Renderer = {}
local num_of_layers = 5
local insert = table.insert
local remove = table.remove
function Renderer:create()
local renderer = {}
--
renderer.drawers = {}
for i = 0,num_of_layers do
renderer.drawers[i] = {}
end
--
function renderer:addRenderer(obj, Layer)
local l = layer or 0
insert(self.drawers[l], obj)
end
--
function renderer:draw()
for layer = 0,#self.drawers do
for draw = 0,#self.drawers[layer] do
local obj = self.drawers[layer][draw]
if obj ~= nil then
obj:draw()
end
end
end
end
return renderer
end
--
return Renderer
这是main.lua
local Renderer = require("libs/renderer")
Renderer = Renderer:create()
function love.load()
love.graphics.setBackgroundColor(255, 255, 255)
--Loading Classes
player_load()
--Loading Classes
end
--
function love.update(dt)
end
--
function love.draw()
renderer:draw()
end
感谢所有正在阅读的人!
答案 0 :(得分:2)
Lua区分大小写。
Renderer = Renderer:create()与
不同
renderer = Renderer:create()