无法在Lua中更改对象的值。

我有一个表格(数组),在其中保存一些图像的引用。以下是代码:

local 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 中。

然后我对一个图像进行转换,与另一个转换,反过来。我想改变这两个图像的值,坐标和引用。我正在做这个操作:
      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]

```

old 是我想要改变的一个图像的位置,new 是另一个图像的位置。

引用正在改变,但值没有改变。

请有人帮帮我,

谢谢!

点赞
用户1150918
用户1150918

一个小笔记(补充?):

如果你遇到一个表格,无法直接更改值,请检查它是否是只读的。更多关于使用 Lua 元表的这种技术:lua-users Wiki - 只读表格

2013-06-26 16:27:15