【问题标题】:Cannot change value of object in lua无法更改lua中对象的值
【发布时间】:2013-06-27 00:27:15
【问题描述】:

我有一个表(数组),我在其中保存了一些图像的引用。这是代码: 本地行数 = 8 本地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]

旧是我要更改的图像之一的位置,而另一个是新图像的位置。

引用发生变化,但值不变。

谁能帮帮我,

谢谢!

【问题讨论】:

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

标签: lua coronasdk luabind corona-storyboard


【解决方案1】:

一个小笔记(添加?):

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 2017-12-18
    相关资源
    最近更新 更多