我想将变量与名为items.json的文件中的表连接起来。我在文件中的属性称为“pos1_name”,“pos2_name”等...所以我想使用属性名称中的数字作为变量。我尝试过:item.pos..i.._name
但它不起作用。
items = VarLoad.loadTable("items.json")
for i=1,7 do
--var ="1"
--print(table.concat(items,"",2))
if items.pos1=="1" then
item[i] = display.newImageRect("items/"..items.pos1_name..".png", 80 , 80)
item[i].x = holder[i].x+10
item[i].anchorX=0
item[i].y=holder[i].y
itemGroup:insert (item[i])
item[i].destination="item1"
item[i]:addEventListener( "touch", onSwitchPress )
item_bigsize[i] = display.newImageRect("items/"..items.pos1_name..".png", 240 , 240)
item_bigsize[i].x = 950
item_bigsize[i].anchorX=0
item_bigsize[i].y=display.contentCenterY-130
group:insert (item_bigsize[i])
item_bigsize[i].isVisible=true
end
i=i+1
end
答案 0 :(得分:3)
我在文件中的属性被称为" pos1_name"," pos2_name"等...所以我想使用属性名称中的数字作为变量。我试过:item.pos..i .._名称,但它不起作用。
您需要使用全表符号:items.pos1_name
是items['pos1_name']
的快捷方式,因此如果您需要动态生成密钥,可以使用以下内容:
print(items['pos'..i..'name'])