Flash实现透明度渐变遮罩的方法

下面介绍两个方法并附上源文件和演示文件。

一、AS法:这个简单,就一个mc.setMask(mask_mc) 就搞定了,但mask_mc必须使用[模糊]滤镜,而mc一定得是位图的元件!
见演示地址:http://www.xzy18.com/blog/attachments/All_Files/alpha_mask.swf
见源文件地址:http://www.xzy18.com/blog/attachments/All_Files/alpha_mask.fla

二、图层混合法:这个要麻烦一点!

关键在于:1、元件属性:影片剪辑 2、混合方式:alpha和图层
制作方法:
1、主场景建立2个图层,背景层在下,遮罩动画层在上,遮罩动画层的元件属性必须为影片剪辑。
2、进入遮罩动画层的元件编辑。同样是两个图层,下层为被遮罩元件,上层是遮罩动画,编辑遮罩动画成透明渐变的动画。然后设置其混合方式为alpha。这里切记不要把该层设置为遮罩。
3、返回主场景,设置遮罩动画层的混合方式为图层。
4、打完收工~

-------------------------------------------------------------

如果还不明白,我附上以下一些文章:

网上有不少讨论Flash实现透明度渐变遮罩的文章,基本上都是使用下面这句话来实现(A与B都是影片剪辑,用B遮罩A)。

A.setMask(B);
事实上,在Flash 8.0的文件中确实应该这样写。然而,在ActionScript 3.0版本的Flash中(比如CS3、CS4),这句话无法通过编译。编译器会警告说setMask在ActionScript3.0中已经停止使用,应该用mc.mask属性代替实现。如果强行运行,将弹出“setMask不是函数”的错误。

在ActionScript 3.0中正确的写法是:

A.mask=B;
与AS 2.0的情况一样,这里也要求A与B都是影片剪辑(Movie Clip)且都在属性中选用了位图缓存(Cache as bitmap)。这条语句的执行效果是A被B遮罩。如果B包含透明度信息(Alpha),那么就可以实现半透明遮罩。更进一步说,如果B包含Alpha渐变,那么就可以实现透明度渐变的遮罩。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值