无法更改lua中对象的值

问题描述:

我有一个表(数组),我保留了一些图像的引用。下面是代码: 本地行数= 8 当地colcount = 4无法更改lua中对象的值

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] 

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

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

请有人可以帮我,

谢谢!

+0

'block [old],block [new] = block [new],block [old]'就足够了。删除前面3行。 –

一个小提醒(除):

如果你发现一个表,其中您不能直接更改值 - 检查,如果它不是只读的。更多关于这种使用Lua元表的技术:lua-users Wiki - Read Only Tables