1

キーが位置の名前(topRight、topLeft ...)であるテキストボックスのテーブルがあります。

一度に 1 つずつ作成して構成すると、問題なく動作します。

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

私が間違っていることは何ですか?

4

1 に答える 1

5

ipairs()の代わりにpairs()を使用します。

于 2012-11-27T22:20:02.063 に答える