Events 电晕/Lua中的不同层

Events 电晕/Lua中的不同层,events,button,lua,coronasdk,Events,Button,Lua,Coronasdk,我有一个关于用Corona/Lua分层图像/按钮的问题。如果我在另一个按钮上创建一个按钮,然后单击它,两个按钮的事件都会被触发。我如何防止这种情况 谢谢,埃利奥特·博纳维尔 编辑:以下是我创建按钮的方式: button1 = display.newImage("button1.png") button1:addEventListener("tap", Button1Call) button2 = display.newImage("button2.png") button2:addEventL

我有一个关于用Corona/Lua分层图像/按钮的问题。如果我在另一个按钮上创建一个按钮,然后单击它,两个按钮的事件都会被触发。我如何防止这种情况

谢谢,埃利奥特·博纳维尔

编辑:以下是我创建按钮的方式:

button1 = display.newImage("button1.png")
button1:addEventListener("tap", Button1Call)

button2 = display.newImage("button2.png")
button2:addEventListener("tap", Button2Call)

在处理事件的事件处理程序中使用
return true
,以防止事件进一步传播


因此,在您的示例中,
按钮2
将首先获取事件,因为它是最后创建的。如果在
Button2Call
return true
中处理事件,
Button1Call
将根本看不到事件。如果
返回false
,或者干脆省略
返回
语句,
按钮1call
将获取事件并决定是否处理它。

从事件处理函数返回true。触摸事件在听者中不断传播,直到被处理;这里解释如下:


请注意,事件侦听器必须侦听同一事件。换句话说,两个侦听器都必须设置为“touch”或“tap”。事实上,昨晚我被这个绊倒了;我有一个按钮在听“触摸”,另一个图像在上面听“点击”,我想知道为什么按钮仍在接收事件。

谢谢@jhocking它对我真的很有帮助,因为我也面临着这个问题……太好了!