Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 尝试更改对象值和参考值,但不更改坐标_Lua_Coronasdk_Luabind_Corona Storyboard - Fatal编程技术网

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

Lua 尝试更改对象值和参考值,但不更改坐标,lua,coronasdk,luabind,corona-storyboard,Lua,Coronasdk,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 imag

我有这个功能

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)
但是坐标在变化,我不知道该怎么办

我希望你能给我一个答案,建议或任何你认为


非常感谢

您正在复制整个表(参考);如果要保留x和y坐标,只需保存它们并重新分配(假设其他一切都按您的意愿进行):


谢谢你的回答,但这不起作用。因为block[old]的坐标正在改变。函数前为451,函数后为515。我试着这样做:本地x,y=block[new].x,block[new].y本地x2,y2=block[old].x,block[old].y块[new]=block[old]块[new].x,block[old].x,block[old].y=x2,y2(它不工作,请帮助我)。非常感谢你。图像为什么不同?因为我正在过渡。从块[0]中的图像到块[1]中的图像。
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