0

我对 Flex 很陌生,但我正在使用 Away3d 将 Web 应用程序移植到其中。我有点进退两难:

用最简单的话来说:

我需要将应用程序背景设置为可见 = false,而不仅仅是 alpha = 0,因为它会阻止需要在其后面的项目的鼠标事件。

我实际上正在尝试做的事情:

如果我将 View3D 添加到 Stage,它的索引仅与显示列表和事件(鼠标等)相关,它总是会呈现在其他所有内容之后 - 所以我必须在 Application 标签中设置 backgroundAlpha="0" 才能看到它。然而,这给我留下了两个选择,这两种选择都不理想:

在 childIndex(0) 处添加 View3D,绑定到 View3D 的鼠标事件被不可见(但仍然存在)的应用程序后台拦截。但是,在最高索引处添加到舞台将阻止 flex 组件工作,因为它们在技术上位于视图下方,即使它们看起来更高。

我需要我的 View3D 来响应鼠标事件,并且我需要覆盖 Flex 组件。我宁愿不使用隐藏的精灵来拦截/重新调度事件或其他东西,有没有办法简单地设置应用程序背景可见性?

提前致谢

4

1 回答 1

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>
于 2013-01-31T16:17:09.253 回答