我正在尝试制作敌人数组并绘制它,但我不断得到错误,如果不是数组本身就是关于绘制函数中的错误参数:main.lua:38:错误的参数#2到'矩形'(数字预期,没有) 任何人都可以解释我在做错了这里是使用泛型吗?
数组代码:
enemies = {}
for i=0,7 do
enemies[i] = {}
for j=0,2 do
enemy = {}
enemy.width = 40
enemy.height = 20
enemy.x = i * (enemy.width + 60) + 100
enemy.y = enemy.height + 100
table.insert(enemies[i],enemy)
end
end
end
绘制功能:
--enemy
love.graphics.setColor(0,255,255,255)
for i,v in ipairs(enemies) do
love.graphics.rectangle("fill", v.x, v.y, v.width, v.height)
end
答案 0 :(得分:2)
enemies = {}
for i=1,8 do
for j=1,3 do
local enemy = {}
enemy.width = 40
enemy.height = 20
enemy.x = i * (enemy.width + 60) + 100
enemy.y = enemy.height + 100
table.insert(enemies, enemy)
end
end
我不知道,如果这是你的意图。无论如何,你得到nil的原因是你的版本ipairs
返回另一个包含三个enemy
实例的表。要使您的版本有效,您必须添加另一个ipairs
:
for i,v in ipairs(enemies) do
for _,e in ipairs(v) do
love.graphics.rectangle("fill", e.x, e.y, e.width, e.height)
end
end
请记得使用local
作为临时功能。 Lua数组从1开始,而不是0。