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