例如,如果我想要一个隐形框,如果它的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,那么它可以正常工作。
答案 0 :(得分:9)
您需要将此行添加到您的代码中:
button.isHitTestable = true
来源:http://docs.coronalabs.com/api/type/DisplayObject/isHitTestable.html
答案 1 :(得分:1)
应该注意的是,如果其中一个父组不可见而忽略isHittestable,则不会触发目标的回调。另外设置isHittestable的母组也不会改变它。