如何在Corona中禁用隐藏按钮?

use*_*313 1 events lua android button coronasdk

让我们说吧

- 我有一个按钮,用于监听"tap"事件,并指向执行某项操作的功能.

- 我放了一个覆盖按钮的ImageRact.一层了.

当我点击按钮所在区域上方的封面图像时,事件功能STILL会执行.

我该如何避免这种情况?

例:

local function hidebg()

    display.remove(logo3)
    logo3=nil
end

local logo2= display.newImage("logo.png")
logo2.x=display.contentCenterX
logo2.y=280
logo2.width=200
logo2.height=74
logo2:addEventListener("tap", hidebg)

local cover =display.newImageRect("NEW GAME A.png", 480,320)
cover.x=display.contentCenterX/2
cover.y=display.contentCenterY/2
Run Code Online (Sandbox Code Playgroud)

尽管"cover2"被"cover"图像覆盖,但仍然执行hidebg()函数.

我知道我可以使按钮isVisible = false并解决问题,但是我在不同层中的不同组中有几十个按钮,我想知道如何以智能方式完成它.也许以某种方式禁用整个组?我不知道.

Kri*_*lim 6

有两种方法可以禁用项目中的该按钮.

1)只要创建一个监听器cover的下方,return true如下:

function coverPressed()
    return true;
end
cover:addEventListener("tap",coverPressed)
Run Code Online (Sandbox Code Playgroud)

2)检查是否cover存在,然后删除如下的监听器logo2:

logo2:removeEventListener("tap", hidebg)
Run Code Online (Sandbox Code Playgroud)

保持编码............