我正在创建一个容器作为MovieClip并添加一个鼠标滚轮处理程序,然后像这样添加项目:
container = new MovieClip();
addChild( container );
container.addEventListener( MouseEvent.MOUSE_WHEEL, HandleWheel );
container.addChild( item );
// etc. adding more items
然而,鼠标滚轮仅在鼠标悬停在其中一个项目上时响应,而不是在项目之间容器的可见区域上响应。是否有任何方法可以使鼠标在容器上而不仅仅是在其子容器上时始终触发事件?
我不知道它是否相关,但是容器有一个掩码组。我尝试将监听器添加到掩码中,但它没有做任何事情。
如果我将容器的opaqueBackground设置为红色,我可以看到容器边界。我不明白为什么当鼠标在这些范围内时鼠标滚轮事件不会触发。如果这真的不可能,还有另一种方法来处理这种情况而不需要容器直接响应鼠标事件吗?
感谢您的帮助。
答案 0 :(得分:1)
“不透明的背景区域不响应鼠标事件。”
答案 1 :(得分:0)
您可能需要在背景中添加一个矩形,以便像边界框一样工作。它可以将其alpha设置为0%。问题是如果光标位于对象的完全透明区域,它就不会将鼠标事件传递给它,因为它不应该(否则我们总是被矩形区域卡住);在这种情况下,添加透明背景会修复它。