颜色和透明度 3.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档