作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 DisplayObject 停靠在我的界面顶部,用于显示调试信息(每秒帧数等)并且是半透明的,alpha 为 60%。
我想与这个表面下的项目进行交互,这样当鼠标在它上面滚动时,它会变暗到 10% alpha,并且鼠标事件通过它传递到底层对象。
通常,我将此调试信息面板的 mouseEnabled 和 mouseChildren 属性设置为 false,因此其下的对象会接收鼠标事件。
问题是为了在鼠标滚过它时隐藏它,它需要将 mouseEnabled 设置为 true。但是,如果 mouseEnabled 为 true,则鼠标事件不会被其下方的对象拾取。
据我所知,我不能有选择地启用 mouseEvents,所以它要么全部接收,要么不接收。这意味着如果我采用这种方法,我将不得不处理和转发所有事件。
我真的希望 mouseEnabled 属性有一个“窥视”模式或其他东西,这样它就可以在顶部接收事件,但也允许它们传递到下面的对象。
最佳答案
如果一个 DisplayObject 有 mouseEnabled=true
这意味着它的事件将被发送到它的 container
不是对象下面的任何东西。所以这个解决方案是行不通的。最好的解决方案是使用 getObjectsUnderPoint
手动重新路由事件。如所述 here .
我多年来一直在多点触控应用程序中使用这种方法。通过多个接触点,我看不到任何处理器开销。而你只有一个光标。
关于actionscript-3 - 如何在 AS3 中透明地处理 mouseEvent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9626199/
我是一名优秀的程序员,十分优秀!