无法在lua中更改对象的值

时间:2013-06-19 18:55:27

标签: lua corona luabind corona-storyboard

我有一个表(数组),我保留了一些图像的引用。这是代码:     本地rowcount = 8         local colcount = 4

    local blockWidth = display.contentWidth / (colcount*4)
    local blockHeight = display.contentWidth / (rowcount*2)

    local row
    local col
    local pan = 3
    local i=0
    for row = 1, rowcount do
            for col = 1, colcount do
                    local x = (col - 1) * blockWidth + pan + 30
                    local y = (row + 1) * blockHeight + pan
                    local random= math.random(1,6)
                    random = revisarTres(i, random)

                    local image = display.newImage(images[random], 0, 0)
                    image.x = x
                    image.y = y
                    print (x)
                    print (y)
                    image.value = random     
                    image:addEventListener("touch", blockTouch)
                    block[i] = image




                    i=i+1
            end
    end

我将参考文献保存在31张图像中。

然后我反过来将一个图像转换为另一个图像。我想改变这两者的价值,共同点和参考。我正在做这个:

          block[old].value, block[new].value = block[new].value, block[old].value                

          block[old].x, block[new].x = block[new].x, block[old].x

          block[old].y, block[new].y = block[new].y, block[old].y

          block[old], block[new] = block[new], block[old]

旧的是我要改变的图像之一的位置和另一个图像的新位置。

引用正在改变,但值不会改变。

请有人帮助我,

谢谢!

1 个答案:

答案 0 :(得分:1)

一个小注(另外?):

如果您找到了一个表,您无法直接更改值 - 请检查它是否只读一个。有关使用Lua metatables的这种技术的更多信息:lua-users Wiki - Read Only Tables