Невозможно изменить значение объекта в 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[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 ответ

Одна маленькая заметка (дополнение?):

если вы когда-нибудь найдете таблицу, в которой вы не можете напрямую изменить значения - проверьте, не является ли она таблицей, доступной только для чтения. Подробнее об этой технике, использующей метатаблицы Lua: lua-users Wiki - таблицы только для чтения

Другие вопросы по тегам