我有一个文本框表,其中键是位置的名称(topRight,topLeft ...)。
一次创建和配置一个正常工作:
kanaAt = {}
function startKanas ()
kanaAt.topLeft = MOAITextBox.new()
kanaAt.topLeft:setFont(font)
...
kanaAt.topLeft:setString("か")
layer:insertProp (kanaAt.topLeft)
kanaAt.topRight = MOAITextBox.new()
kanaAt.topRight:setFont(font)
...
kanaAt.topRight:setString("た")
layer:insertProp (kanaAt.topRight)
end
但是当我尝试迭代它时,不是这样:
kanaAt = {}
function startKanas ()
kanaAt.topLeft = MOAITextBox.new()
kanaAt.topRight = MOAITextBox.new()
kanaAt.bottomLeft = MOAITextBox.new()
kanaAt.bottomRight = MOAITextBox.new()
for name, text in ipairs(kanaAt) do
text:setFont(font)
text:setTextSize(90,60)
text:setYFlip(true)
text:setRect(-50,-50,50,50)
layer:insertProp (text)
end
kanaAt.topLeft:setString("か")
kanaAt.topLeft:setLoc(-325, 225)
kanaAt.topRight:setString("た")
kanaAt.topRight:setLoc(325, 225)
kanaAt.bottomLeft:setString("ち")
kanaAt.bottomLeft:setLoc(-325, -225)
kanaAt.bottomRight:setString("つ")
kanaAt.bottomRight:setLoc(325, -225)
end
我做错了什么?
答案 0 :(得分:5)
使用pairs()而不是ipairs()。