2

我试图在谷歌地图应用程序上应用聚光灯效果。具体来说,我画了一个跟随鼠标的圆圈,并将其设置为地图上的蒙版。问题是只有圆圈内的地图区域出现,我知道它应该是面具的样子,但是有没有办法让圆圈外的区域变成某种半透明的,这样它下面的地图也可以看穿?这样,人们在仅突出显示圆圈内的区域时仍然可以看到地图的其余部分。谢谢!

4

3 回答 3

7

另一种选择是使用 blendModes(在某些情况下它的 cpu 可能会贵一些,但你可以做更多类似渐变之类的东西)。你需要这样的层次结构:

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

在您的情况下,您会将地图作为背景图像。然后,在蒙版剪辑(不要将其设置为蒙版)内放置一个覆盖整个背景的 10% alpha 形状和一个跟随鼠标的 100% alpha 的圆形......您甚至可以对圆形进行一些模糊处理,所以你得到一个很好的渐变......

前段时间我做了一些非常相似的事情,所以我在这里上传了一个早期测试(fla)如果你想看看:)

于 2009-11-21T19:53:20.583 回答
0

要使用 alpha 遮罩,您需要执行以下操作:

  • 使用动作脚本应用掩码,而不是 Flash 创作。

即 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 回答