在Corona SDK中,当对象的alpha值为0时获取触摸事件

时间:2013-01-03 23:32:42

标签: events lua alpha corona

例如,如果我想要一个隐形框,如果它的alpha值为0,我怎么能得到触摸事件?或者是否有另一种制作隐形盒子的方法。

local function invisiblebuttontouch(event)
    if event.phase == 'began' then
        print (event.x..","..event.y)
    end
end

button = display.newRect(1,1,300,300)
button:addEventListener("touch",invisiblebuttontouch)
button.alpha = 0

它永远不会打印出x和y,但是如果我没有将alpha设置为0,那么它可以正常工作。

2 个答案:

答案 0 :(得分:9)

您需要将此行添加到您的代码中:

button.isHitTestable = true

来源:http://docs.coronalabs.com/api/type/DisplayObject/isHitTestable.html

答案 1 :(得分:1)

应该注意的是,如果其中一个父组不可见而忽略isHittestable,则不会触发目标的回调。另外设置isHittestable的母组也不会改变它。