0

Flash でエキスパンド バナー広告を作成しました。1つのことを除いてすべてが素晴らしいです。ユーザーが Flash 広告にカーソルを合わせなくなったことを検出するにはどうすればよいですか? を検出するために使用できる「ヒット領域」を広告しようとしましたMOUSE_OUT。問題は、ビデオの再生と、クリック可能にする必要があるソーシャル メディア ボタンがあることです。これらの上にヒット領域を配置すると、クリックできなくなります。ヒット領域をボタンの後ろに配置すると、ボタンのMOUSE_OUT上にカーソルを置いたときにイベントがトリガーされます。

このようなシナリオのベスト プラクティスは何ですか? ステージ オブジェクトでも検出を試みMOUSE_LEAVEましたが、HTML ページに配置されると正しく機能しないようです。助けてくれてありがとう。

4

1 に答える 1

0

ENTER_FRAMEを常にチェックするイベントを追加してみてください。これらの値は、マウスがFlashコンテンツ上にある間は正しく報告され、マウスがステージ上にないときに最後の既知のマウス座標を報告します。ただし、最後の既知のマウス座標は、必ずしもステージの実際の幅または高さであるとは限らないため、おそらくそこにある程度の許容誤差を追加する必要があります。stage.mouseXstage.mouseY

たとえば、(拡張された)Flashコンテンツの幅が500pxのENTER_FRAME場合stage.mouseX、10px未満(マウスが左に移動)または490pxを超える(マウスが右に移動)かどうかを確認して、Flashを最小化できます。コンテンツ。高さについても繰り返し、必要に応じて許容値を調整します。

これはあなたが望む効果を与えるはずです。私が見ることができる唯一の欠点はENTER_FRAME、マウスがコンテンツを離れたかどうかを確認するためだけのイベントのオーバーヘッドですが、それを回避する方法はわかりません。

于 2012-08-07T16:18:19.613 に答える