在这里,我生成一个带有图像的4 x 8面板,然后将参考保存到块中。
local function createBlocks()
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
local y = (row + 1) * blockHeight + pan
local random= math.random(1,6)
random = revisarTres(i, random)
print (random)
block[i] = display.newImage(images[random], x, y)
block[i].value= random
block[i]:addEventListener("touch", blockTouch)
i=i+1
end
end
端
然后我添加一个事件监听器,看看他们是否触摸过图像。 然后我验证,如果他们已经触摸,它就在这里进行了转换。
transition.to(startBlock, {time=tranTime, x=event.target.x, y=event.target.y})
transition.to(event.target, {time=tranTime, x=startBlock.x, y=startBlock.y})
但我想在块数组中更新此更改。所以我做到了:
aux = block[old]
auxval = block[old].value
block[old]= block[new]
block[old].value= block[new].value
block[new]= block[old]
block[new].value= auxval
但它不起作用,我想知道一种改变参考值的方法。
我希望你能救我。
答案 0 :(得分:1)
我想说你的交换两个值的功能是错误的,请参阅:
aux = block[old]
auxval = block[old].value
block[old]= block[new]
block[old].value= block[new].value
block[new]= block[old]
block[new].value= auxval
如果你想交换阻止[old]和阻止[new],那就太丑了,就像那样:
block[old], block[new] = block[new], block[old]