0

我有这个功能

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

我想更改图像的块值,块中图像的参考,但我不想更改坐标。我正在调用函数:

cambiodes(0,1)

但坐标正在改变,我不知道该怎么办。

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

非常感谢

4

2 回答 2

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
于 2013-06-20T04:16:21.403 回答
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
于 2013-06-20T07:33:04.237 回答