我对Flex很陌生,但我正在使用Away3d将Web应用程序移植到其中。我有点困境:
用最简单的术语来说:
我需要将应用程序背景设置为visible = false,而不仅仅是alpha = 0,因为它阻止了需要在其后面的项目的鼠标事件。
我实际上要做的是:
如果我将View3D添加到Stage,它的索引仅与显示列表和事件(鼠标等)相关,它将始终呈现在其他所有内容之后 - 所以我必须在Application标记中设置backgroundAlpha =“0”才能看到它。然而,这给我留下了两个选择,两者都不可取:
在childIndex(0)处添加View3D,绑定到View3D的鼠标事件被不可见(但仍然存在)的应用程序背景拦截。但是,在最高索引处添加到舞台会阻止Flex组件在视图下方工作,即使它们看起来更高。
我需要我的View3D来响应鼠标事件,我需要覆盖Flex组件。我宁愿不使用隐藏的精灵来拦截/重新发送事件或其他东西,有没有办法简单地设置应用程序背景可见性?
提前致谢
答案 0 :(得分:0)
在黑暗中拍摄,但您是否尝试在顶级应用程序中设置alpha =“0”和mouseChildren =“false”?
<s:Application mouseChildren="false" alpha="0">
<!-- content goes here -->
</s:Application>
如果这不起作用,您还可以尝试使用不存在的掩码来屏蔽应用程序。
快速,未经测试的例子:
<s:Application mask="{ this.maskShape }">
<s:Group id="maskShape">
<!-- Never add anything to this Group -->
</s:Group>
</s:Application>