我有这个函数
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)
但是坐标在变,我不知道该怎么办。
我希望你能给我一个答案,建议或任何你认为。
非常感谢
您正在复制整个表(引用);如果您想保留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
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