Love2D渲染器错误

时间:2016-01-15 14:45:08

标签: debugging lua render love2d

我正在关注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

感谢所有正在阅读的人!

1 个答案:

答案 0 :(得分:2)

Lua区分大小写。

Renderer = Renderer:create()与
不同 renderer = Renderer:create()