【问题标题】:Changing object references in lua更改 lua 中的对象引用
【发布时间】:2013-06-18 09:07:11
【问题描述】:

在这里我生成一个 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

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

希望你能救救我。

【问题讨论】:

    标签: lua coronasdk corona-storyboard


    【解决方案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[old], block[new] = block[new], block[old]
    

    【讨论】:

    • 哦,谢谢您的建议!但是你知道如何解决我的问题吗?我不知道为什么,但交换不起作用:s
    • 错的是block[new]=block[old],这句话把block[old]放到block[new]上,但是block[old]已经不是原点了, block[old] 已经放入 aux,所以,你应该写 block[new] = aux.明白吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 2013-04-21
    • 2010-11-07
    • 2019-10-18
    相关资源
    最近更新 更多