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

时间:2014-06-14 03:52:41

标签: lua 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,但没有更改源的功能。

2 个答案:

答案 0 :(得分:2)

最好创建符合其位置的两个图像:

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.

答案 1 :(得分:2)

有多种方法可以做到这一点。 Corona Labs的本教程展示了4种不同的技术(包括上面的技术):

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

第四个选项,使用精灵可能是最好的方法。 罗布