Lua 绘制多种类型的表格

Lua 绘制多种类型的表格,lua,lua-table,love2d,Lua,Lua Table,Love2d,我有两个僵尸对象,一个是Grunt,一个是Runner 我的Grunt.lua文件: function InitGrunt() grunt = {} grunt.x = 0 grunt.y = 0 grunt.speed = 120 grunt.hitBox = (sprites.grunt:getHeight() + sprites.grunt:getWidth())/2 grunt.hit = false gruntDefCD = 2 gruntCD = g

我有两个僵尸对象,一个是
Grunt
,一个是
Runner

我的
Grunt.lua
文件:

function InitGrunt()
  grunt = {}
  grunt.x = 0
  grunt.y = 0
  grunt.speed = 120
  grunt.hitBox = (sprites.grunt:getHeight() + sprites.grunt:getWidth())/2
  grunt.hit = false

  gruntDefCD = 2
  gruntCD = gruntDefCD
  gruntMinCD = 0.4
  gruntTimer = gruntCD
  gruntTimerDecr = 0.8
end

function SpawnGrunt()
  local side = math.random(1, 4)

  --randomize spawn position

  table.insert( zombies, grunt )
end
还有我的跑步者lua:

function InitRunner()
  runner = {}
  runner.x = 0
  runner.y = 0
  runner.speed = 240
  runner.hitBox = (sprites.runner:getWidth() + sprites.runner:getHeight())/2
  runner.hit = false

  runnerDefCD = 4
  runnerCD = runnerDefCD
  runnerMinCD = 2
  runnerTimer = runnerCD
  runnerTimerDecr = 0.95
end

function SpawnRunner()
      local side = math.random(1, 4)

      --randomize spawn position

      table.insert( zombies, runner )
end
所以
zombie
表将有
grunt
s和
runner
s。如何在
Draw()
中打印它们

我可以用以下方法画一幅:

function DrawGrunts()
  for i, z in ipairs(zombies) do
    love.graphics.draw(sprites.grunt, z.x, z.y, PlayerZombieAngle(z), nil, nil, sprites.grunt:getWidth()/2, sprites.grunt:getHeight()/2 )
  end
end

但理想情况下,如何在一个函数中同时绘制这两个对象?

给不同的实体一个指向其精灵对象的指针:

runner = { }
runner.x = 0
runner.y = 0
runner.sprite = sprites.runner
-- Rest of runner definition

grunt = { } 
grunt.x = 0 
grunt.y = 0
grunt.sprite = sprites.grunt
-- Rest of grunt definition
绘图函数变成:

for i, z in ipairs(zombies) do
    love.graphics.draw(z.sprite, z.x, z.y, ...)
end

为不同实体指定指向其精灵对象的指针:

runner = { }
runner.x = 0
runner.y = 0
runner.sprite = sprites.runner
-- Rest of runner definition

grunt = { } 
grunt.x = 0 
grunt.y = 0
grunt.sprite = sprites.grunt
-- Rest of grunt definition
绘图函数变成:

for i, z in ipairs(zombies) do
    love.graphics.draw(z.sprite, z.x, z.y, ...)
end