2014-10-17 75 views
2

我想將一個變量與名爲items.json的文件中的表連接起來。我在文件中的屬性被稱爲「pos1_name」,「pos2_name」等...所以我想使用屬性名稱中的數字作爲變量。我試過:item.pos..i.._name,但它不起作用。將json文件與變量連接起來

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

你什麼錯誤,它打印什麼? 嘗試添加'print(「items /」.. items.pos1_name ..「。png」)'並返回。 – 2014-10-17 15:40:24

+0

「items /」.. items.pos1_name ..「。png」效果很好!我想要做的是連接「items.pos..i .._ name」。它說:試圖連接一個領域? (零值) – 2014-10-17 15:43:55

回答

3

我的文件中的屬性被稱爲「pos1_name」,「pos2_name」,等等......所以我想用在屬性名的數量,作爲變量。我試過:item.pos..i .._ name,但它不起作用。

您需要使用全表記數法:items.pos1_nameitems['pos1_name']一個快捷方式,所以如果你需要動態地生成密鑰,就可以使用這樣的事情:

print(items['pos'..i..'name']) 
相關問題