0

在这里,我生成一个带有图像的 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

但它不起作用,我想知道一种改变参考值的方法。

我希望你能救我,拜托。

4

1 回答 1

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

这很难看,如果你想交换块[旧]和块[新],就像这样:

block[old], block[new] = block[new], block[old]
于 2013-06-18T01:07:11.937 回答