尝试更改对象值和参考值,但不更改坐标

时间:2013-06-20 03:41:48

标签: lua corona luabind corona-storyboard

我有这个功能

local function cambiodesp(old,new)
   block[new]= block[old]
end

我有这个:

random=4 
local image = display.newImage(images[random], 0, 0)
image.value = random
image.x = 161
image.y = 451
block[0] = image

random=1
image.value = random 
local image = display.newImage(images[random], 0, 0)
image.x = 161
image.y = 515
block[1] = image

我想更改图像的block.value,块中图像的引用,但我不想更改坐标。 我正在调用这个函数:

cambiodes(0,1)

但坐标正在变化,我不知道该怎么做。

我希望你能给我一个答案,建议或任何你想的。

非常感谢

2 个答案:

答案 0 :(得分:0)

您正在复制整个表格(参考);如果你想保留x和y坐标,只需保存它们并重新分配(假设其他所有事情都按你的要求发生):

local function cambiodesp(old,new)
   local x, y = block[new].x, block[new].y
   block[new]= block[old]
   block[new].x, block[new].y = x,y
end

答案 1 :(得分:0)

local function swap(old,new)
    block[old], block[new] = block[new], block[old] #swap references
    block[old].x, block[old].y, block[new].x, block[new].y = block[new].x, block[new].y, block[old].x, block[old].y #re-set coordinates
end