Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 函数中以索引作为参数的表_Lua_Lua Table - Fatal编程技术网

Lua 函数中以索引作为参数的表

Lua 函数中以索引作为参数的表,lua,lua-table,Lua,Lua Table,我能做这个吗?注意参数和索引: function drawBox(box, id) love.graphics.setColor(box[id].color.r, box[id].color.g, box[id].color.b, 70) love.graphics.rectangle('fill', box[id].pos.x, box[id].pos.y, box[id].w, box.h) love.graphics.setColor(box[id].color.r/2, bo

我能做这个吗?注意参数和索引:

function drawBox(box, id)
  love.graphics.setColor(box[id].color.r, box[id].color.g, box[id].color.b, 70)
  love.graphics.rectangle('fill', box[id].pos.x, box[id].pos.y, box[id].w, box.h)
  love.graphics.setColor(box[id].color.r/2, box[id].color.g/2, box[id].color.b/2)
  love.graphics.rectangle('line', box[id].pos.x, box[id].pos.y, box[id].w, box[id].h)
end

似乎
box
table存储了其他表。因此,您可以:

function drawBox(box)
  love.graphics.setColor(box.color.r, box.color.g, box.color.b, 70)
  love.graphics.rectangle('fill', box.pos.x, box.pos.y, box.w, box.h)
  love.graphics.setColor(box.color.r/2, box.color.g/2, box.color.b/2)
  love.graphics.rectangle('line', box.pos.x, box.pos.y, box.w, box.h)
end

drawBox(some_boxes[id])

这是行不通的,因为即使我传入带有所需索引的表,“setColor”函数也无法识别“box.color.r”引用,因为它应该带有索引:box[id].color.r。这种方法不太好,有什么建议吗?@sakvojaz,
setColor()
与您传递的数据无关。如果
box.color
不在那里,这意味着它也不在那里,因为
all_-box[id].color也不在那里。毕竟,
drawBox()中的
box
参数与
all\u-box[id]
是同一个对象。检查您是否修复了对
drawBox
的所有调用,并且没有使用旧参数的调用。您必须传递单个框,而不是所有框加id的表格。