当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > Flash as入门(18):MC使用颜色

ActionScript
Flash AS特效:超绚丽的闪字动画
Flash游戏开发教程:第四节
Flash组件教程:组件动画效果的修改
Flash Actionscript常用的几段代码
彻底消灭Flash动画中的乱码
Flash游戏开发教程:第三节
mc深度的排序值设置方法
Flash as简单制作鼠标跟随文字动画
Flash游戏开发教程:第二节
Flash Actionscript 优化指南
Flash游戏开发教程:第八节
ActionScript的API文档生成工具ASDoc
Flash游戏开发教程:第七节
Flash AS教程:蝌蚪摆尾动画
Flash AS3教程:汉字转拼音
Flash游戏开发教程:第五节
Flash游戏开发教程:第六节
Flash AS3教程:下雪动画效果
Flash as教程:文字散射效果
Flash编写类及外部as文件的方式

ActionScript 中的 Flash as入门(18):MC使用颜色


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 197 ::
收藏到网摘: n/a

本例继续讲解AS的基础知识,今天我们来学习Flash as入门(18):MC使用颜色,教程详细讲解了在AS中颜色的使用。

使用颜色

一、关于颜色系统:

我们常用的是RGB颜色系统。RGB分别是红绿蓝三种颜色的英文的第一个字母。这就是说RGB是由红绿蓝三种颜色组成的一个颜色系统,三种颜色不同比例的组合而形成了各种颜色。我们是用十六进制来表示颜色的值的,那么三种颜色的值为0-F。RGB系统由6位数组成,分别是红绿蓝三种颜色各两位,最小值为 00,最大值为FF,这样组合下来,共有1600多万种组合,每一种组合为一种颜色。

有了上面的介绍我们来看一下一些颜色值,分析一下它应该是什么颜色:

000000红绿蓝均为00,均为最小值,一个不恰当的比喻,什么都看不到,因为都是0,什么都看不到是什么情况呢?深夜你不开灯就什么都看不见,对黑色。
相反FFFFFF,均为最大值,与黑色相反那当然就是白色了。
FF0000,红色最大,其它两种色没有,那当然是红色了。
00FF00,只有绿色,当然就是绿色了。
0000FF蓝色,这次你比我还先说出来。
FFFF00 想一想,红色+绿色是什么色?黄色。
FF00FF:红色加蓝色呢?这个好想象出来:紫色。
00FFFF:绿色+蓝色:这个是什么色呢?蓝绿蓝绿的,晓得叫个啥颜色哦。

我们在使用这些颜色值时,需要在前面加上0x,比如红色:0xFF0000

还有一点颜色值中的字母不区分大小写,也就是说红色也可写为:0xff0000

二、为MC指定颜色值:

在以前的flash有一个color类可以为MC设置颜色,但在flash8以后不推荐使用用这个类,所以不介绍。现在推使用ColorTransform类来为MC设置颜色。同时也需要Transform类,所以首先应导入这两个类:
import flash.geom.ColorTransform;
import flash.geom.Transform;

类导入后都需要创建一个实例才能就用:
var 一个实例名称:ColorTransform = new ColorTransform();
var一个实例名称:Transform = new Transform(要应用颜色的影片剪辑);

接下来为ColorTransform实例设置颜色值:
ColorTransform实例.rgb=颜色值;
最后将Transform实例的ColorTransform属性设为ColorTransform实例:
Transform实例. ColorTransform = ColorTransform实例;

可以将上面的方法作为一个公式来就用。可能有点不是太清楚,还是用一个练习来熟悉一下吧:

这个练习我们画一朵花,然后将线条组合。将填充转换为MC,我们要改变的是填充色。实例名称为:h_mc.每点一次花,花将随机产生一种颜色。

效果:

代码:

import flash.geom.ColorTransform;
import flash.geom.Transform;
var colorTrans:ColorTransform = new ColorTransform();
var trans:Transform = new Transform(h_mc);
trans.colorTransform = colorTrans;
h_mc.onRelease = function() {
colorTrans.rgb = random(0xffffff); //产生一个随机的颜色值
trans.colorTransform = colorTrans;
};