- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
颜色和透明度 3
8.3? 颜色和透明度
动画中不仅包含着对象位置和大小的变化,还会包含对象颜色和透明度的变化。两者有机结合,方才构成了绚丽多彩的动画效果。本节将介绍如何控制动画对象的颜色和透明度。
8.3.1? 操作透明度
在Flash中,直接修改显示对象的透明度较为简 单。所有的DisplayObject及其子类都有alpha属性,只需要指定相应的值,就能完成对透明度的更改。值得注意的是,AS3中规定Alpha 的值是从0到1的小数,或者说是0到100%的百分数。但是对于使用设备字体的textField对象,alpha属性不能正常起作用。
8.3.2? ColorTransform类
改变显示对象的颜色,相对要困难一些,AS3提供了 强大的颜色变换类ColorTransform。同上一节谈到的控制形状位置的Matrix类相似,ColorTransform类在 displayObject.transform属性中也有一个对象实例。不过其名字为 displayObject.transform.colorTranform。注意对象名称大小写的变化,AS3大小写敏感。
使用displayObject.transform.colorTranform的步骤同displayObject.transform.matrix对象相似:
(1)首先创建一个ColorTransform对象myColorTransform。
(2)然后将目标显示对象的transform.colorTransform对象复制到myColorTransform之中。
(3)使用myColorTransform类的各种属性或方法进行操作。
(4)用myColorTransform替换显示对象内部的transform.colorTranform,FlashPlayer会自动使用colorTranform的数据对显示对象进行相应变换。
ColorTransform类的构造函数如下:
ColorTransform(redmulti,greenmulti,bluemulti,alphamulti,
redoffset,greenoffset,blueoffset,alphaoffset);
构造函数 “ColorTransform()”中的所有参数都是Number类型,但实际上redmulti、greenmulti、bluemulti和 alphamulti是0到1的小数。Redoffset、greenoffset、blueoffset、alphaoffset是从-255到255 的整数。注意这里alphaoffset的取值范围是0到255,而AS3中DisplayObject.alpha属性的取值是0到1,两者不要混淆。
当将ColorTransform对象附加至显示对象时,RGB和Alpha四个通道都会分别进行计算和变换。最终颜色的计算方法为:
红色通道最终值=红色通道原有值*redmulti+redoffset。
绿色通道最终值=绿色通道原有值*greenmulti+greeboffset。
蓝色通道最终值=蓝色通道原有值*bluemulti+blueoffset。
透明通道最终值=透明通道原有值*alphamulti+alphaoffset。
经过运算后,通道最终值只能在0到255之间。超过255的数值,自动转换为255,负数自动转化为0。
8.3.3? 实例应用
下面通过实例8-3学习ColorTransform对象。
(1)新建项目。如图8-9在舞台上建立名为color_rect1,color_rect2,color_rect3的三个矩形MovieClip对象,填充颜色为R255,G48,B0,alpha100。如图8-9所示水平排列:
(2)选中时间轴,在代码编辑器中输入以下代码:
//操作color_rect1
color_rect1.alpha=.5;
//操作color_rect2
var color_trans:ColorTransform=new ColorTransform();
color_trans.redMultiplier=0;
color_trans.greenMultiplier=0;
color_trans.blueMultiplier=0;
color_trans.alphaMultiplier=0;
color_trans.redOffset=0;
color_trans.greenOffset=0;
color_trans.blueOffset=255;
color_trans.alphaOffset=255;
color_rect2.transform.colorTransform=color_trans;
//操作color_rect3
colo
文档评论(0)