0

私は Flex を初めて使用しますが、Away3d を使用して Web アプリを Flex に移植しています。私は少しジレンマを持っています:

最も簡単に言えば:

背後にある必要があるアイテムのマウスイベントをブロックしているため、アプリケーションの背景を alpha=0 だけでなく、visible=false に設定する必要があります。

私が実際にやろうとしていること:

View3D をステージに追加すると、そのインデックスは表示リストとイベント (マウスなど) にのみ関連し、常に他のすべての背後でレンダリングされるため、表示するには Application タグで backgroundAlpha="0" を設定する必要があります。ただし、これには 2 つのオプションがあり、どちらも望ましくありません。

childIndex(0) に View3D を追加すると、View3D にバインドされたマウス イベントは、非表示の (ただし存在する) アプリケーション バックグラウンドによってインターセプトされます。ただし、最高のインデックスでステージに追加すると、フレックス コンポーネントは技術的にはビューの下にあるため、より高く表示されても機能しなくなります。

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 に答える