0

有没有办法动态改变 Corona/Lua 中图像的路径?

我目前正在使用这个:

itemImage = display.newImage(inventory[t.ID][1])

与吨。是我通过 eventListener 传递的目标 ID。

是否有可以更新路径的功能,我可以使用 .text 更新文本?类似于以下内容:

itemImage.Image(inventory[t.ID][1])
itemImage.updateImage(inventory[t.ID][1])

我在文档中找不到任何关于此的内容。

4

2 回答 2

1

您无法像更改文本一样替换图像。绘制图像涉及太多变量。最好的办法是在旧图像上绘制新图像,然后删除旧图像。

于 2013-01-20T21:47:42.787 回答
1

我认为目前还没有任何直接的方法可以做到这一点。但是,如果您想以正确的顺序更改图像,则可以使用“movieclip”。

    require "movieclip"

   local myImage = movieclip.newAnim{ "img1.png", "img2.png" , "img3.png", "img4.png"}
    myImage.x=100
    myImage.y=100

    local function changeImage(event)
       myImage:nextFrame()
    end

   Runtime:addEventListener("tap", changeImage)

否则,您需要删除旧图像并将其替换为新图像,如下所示:

    local myImage = display.newImageRect("img1.png",150,150)
     myImage.x = 100
     myImage.y = 100

    local function changeImage(newImage)
        if(myImage~=nil)then
            myImage:removeSelf()
            myImage = display.newImageRect(newImage,150,150)
            myImage.x = 100; myImage.y = 100
        end
    end

    local function callMyFunction()
       changeImage("hair_2.png")
    end
    Runtime:addEventListener("tap",callMyFunction)
于 2013-01-19T16:13:34.600 回答