2

例如,如果我想要一个不可见的盒子,如果它的 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,那么它可以正常工作。

4

2 回答 2

10

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

button.isHitTestable = true

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

于 2013-01-04T13:06:30.317 回答
1

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

于 2013-08-16T14:37:48.500 回答