【发布时间】:2010-12-19 01:42:42
【问题描述】:
我试图在谷歌地图应用程序上应用聚光灯效果。具体来说,我画了一个跟随鼠标的圆圈,并将其设置为地图上的蒙版。问题是只有圆圈内的地图区域出现,我知道它应该是面具的样子,但是有没有办法让圆圈外的区域变成某种半透明的,这样它下面的地图也可以看穿?这样,人们在仅突出显示圆圈内的区域时仍然可以看到地图的其余部分。谢谢!
【问题讨论】:
标签: actionscript-3 google-maps mask
我试图在谷歌地图应用程序上应用聚光灯效果。具体来说,我画了一个跟随鼠标的圆圈,并将其设置为地图上的蒙版。问题是只有圆圈内的地图区域出现,我知道它应该是面具的样子,但是有没有办法让圆圈外的区域变成某种半透明的,这样它下面的地图也可以看穿?这样,人们在仅突出显示圆圈内的区域时仍然可以看到地图的其余部分。谢谢!
【问题讨论】:
标签: actionscript-3 google-maps mask
要使用 alpha 遮罩,您需要执行以下操作:
即 googleMap.mask = alphaMask;
应该可以的。
【讨论】:
使蒙版比它需要的大得多,并用一些“灰色”填充它,这样地图就会显示出来并将圆圈放在中间。
这里有一个例子: http://www.flashandmath.com/howtos/alphamask/
关键是cacheAsBitmap = true, bit。
【讨论】:
另一种选择是使用 blendModes(在某些情况下它的 cpu 成本可能会更高,但您可以做更多类似渐变之类的事情)。 你需要这样的层次结构:
parent clip (blendmode="layer")
-mask with different alpha values (blendmode="alpha")
-background image (blendmode="normal")
在您的情况下,您可以将地图作为背景图片。然后,在蒙版剪辑(不要将其设置为蒙版)内放置一个覆盖整个背景的 10% alpha 形状和一个跟随鼠标的 100% alpha 的圆形......您甚至可以对圆形进行一些模糊处理,所以你会得到一个很好的渐变......
【讨论】: