如何在 Corona 中编程更改显示的图像?

如何在 Corona 中以编程方式更改显示的图像? 我已经加载了图像并在屏幕上显示

`` `local lana = display.newImageRect(“images / lana_zero.png”,70,100) lana.anchorX = 0 lana.anchorY = 1 lana.x,lana.y = 0,100

```

如何在按下按钮时更改lana的内容并设置图像lana_one.png? 我查看了DisplayObject,但没有更改源的功能。

点赞
用户1925928
用户1925928

最好创建两个图像,使它们的位置匹配:

local lana = display.newImageRect( "images/lana_zero.png", 70, 100 )
    lana.anchorX = 0
    lana.anchorY = 1
    lana.x, lana.y = 0, 100

local lana1 = display.newImageRect( "images/lana_one.png", 70, 100 )
    lana1.anchorX = 0
    lana1.anchorY = 1
    lana1.x, lana1.y = 0, 100
    lana1.alpha = 0

然后,点击时将 alpha 切换为 1

local touchHandler = function(event)
    if event.phase == "ended" then
        if whichLanaIsVisible == 0 then
           lana.alpha = 0
           lana1.alpha = 1
           whichLanaIsVisible = 1
        else
           lana.alpha = 1
           lana1.alpha = 0
           whichLanaIsVisible = 0
        end
    end
end

button:addEventListener( "touch", touchHandler )

注意! 您不能使用 if lana.alpha == 0,因为 alpha,即使设置为 0,也可能不总是等于 0。 它几乎为 0。 例如,它可能是 0.00002501,这与 0 不相等。

2014-06-14 06:15:56
用户1870706
用户1870706

有多种方法可以实现这个功能。Corona Labs的这个教程展示了4种不同的技巧(包括上面的方法):

http://coronalabs.com/blog/2013/11/26/tutorial-techniques-for-swapping-images/

使用精灵的第4个选项可能是最好的方法。 Rob

2014-06-16 00:46:42