2

Google マップ アプリケーションにスポットライト効果を適用しようとしていました。具体的には、マウスに追従する円を描き、マップ上にマスクとして設定します。問題は、円内のマップ領域のみが表示されることです。マスクがどのように見えるかはわかっていますが、円の外側の領域をある種の半透明にして、その下のマップも表示できるようにする方法はありますか?透ける?こうすることで、ユーザーが円内の領域だけを移動しても、マップの残りの部分を見ることができます。ありがとう!

4

3 に答える 3

7

もう 1 つのオプションは、blendModes を使用することです (場合によっては、CPU の負荷が少し高くなる可能性がありますが、グラデーションなどの多くのことができます)。次のような階層が必要です。

parent clip (blendmode="layer")
   -mask with different alpha values (blendmode="alpha")
   -background image (blendmode="normal")

あなたの場合、マップを背景画像として使用します。次に、マスク クリップの内側に (マスクとして設定しないでください)、背景全体を覆う 10% のアルファ形状と、マウスに追従する 100% のアルファを持つ円形の形状を配置します。円形の形状にぼかしを加えることもできます。素敵なグラデーションになりますように…

私は少し前に非常に似たようなことをしたので、ここに初期のテストをアップロードしました( fla ) 見たい場合:)

于 2009-11-21T19:53:20.583 に答える
0

アルファ マスキングを使用するには、次の手順を実行する必要があります。

  • Flash オーサリングではなく、actionscript を使用してマスクを適用します。

つまり、googleMap.mask = alphaMask;

  • ビットマップ キャッシュをオンにします (cacheAsBitmap = true);

それはそれを行う必要があります。

于 2009-11-21T17:55:59.477 に答える
0

マスクを必要以上に大きくし、「グレー」で塗りつぶして、マップが透けて見えるようにし、円を中央に配置します。

ここに例があります: http://www.flashandmath.com/howtos/alphamask/

重要なのは、cacheAsBitmap = true、bit です。

于 2009-11-21T17:57:23.750 に答える