设置flex应用程序背景可见性

时间:2013-01-31 14:28:23

标签: actionscript-3 flash flex stage3d away3d

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

用最简单的术语来说:

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

我实际上要做的是:

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

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

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

提前致谢

1 个答案:

答案 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>