当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > RGB颜色action自定义教程(3) — 颜色渐变篇

Flash动画制作
Flash 8中文版视频教程 时间轴特效-分离
Flash 8中文版视频教程 绘画-交集
Flash 8中文版视频教程 绘画-对象绘制
Flash 8中文版视频教程 播放视频
Flash 8中文版视频教程 时间轴特效-帮助
Flash 8中文版视频教程 时间轴特效-投影
Flash 8中文版视频教程 时间轴特效-模糊
Flash 8中文版视频教程 绘画-打孔
Flash 8中文版视频教程 时间轴特效-变形/变换
Flash 8中文版视频教程 时间轴特效-展开
图文教程:FLASH8.0绘制百事可乐标志
中秋寄相思 自制Flash贺卡
Flash MX 2004新功能:行为2
Flash MX 2004新功能:行为3
Flash MX 2004新功能:行为4
Flash MX 2004时间轴特效
商业Flash设计经验谈(设计流程)
显示隐藏鼠标
制作繁星闪烁的效果
程序员眼中的Flash MX2004(1)

Flash动画制作 中的 RGB颜色action自定义教程(3) — 颜色渐变篇


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

 前面两篇讲了颜色设置的基础和随心所欲的得到随机的颜色,希望对大家多少有所帮助。说完随机颜色,我们再讲讲颜色渐变,就像下面这个动画:

页面:点这儿参观
源代码(3K):
colortest2.zip

  这样用颜色来表示y轴数值的大小,还是很直观的,怎么做的呢?有了前面关于颜色讨论的基础,我想大家应该都差不多猜出做法来了,就是把rgb中的一个跟随变量的增加而增加,就像这样:
for (n=1; n<=200; n++) {
    attachMovie("ball", "ball"+n, n);
    //复制200个点
    this["ball"+n]._x = 2*n;
    y = Math.sin(n*Math.PI/100)*100+150;
    this["ball"+n]._y = y;
    //设置点的位置
    mycolor = new Color(this["ball"+n]);
    mycolor.setRGB(255 << 16 | Math.floor(255*(y-50)/200)<<8 | 0);
    //根据y的位置定义点的颜色
}
  关键就在红色的Math.floor(255*(y-50)/200)<<8处,为什么这么写我就不用解释了吧?大家应该都明白了吧?不明白再问。

  看了上面的颜色渐变,大家肯定想做出更复杂的颜色渐变吧,看看下面:

页面:点这儿参观
源代码(3K):
colortest3.zip

  是不是很有意思啊,下面是用flash自带的调色板做的渐变,上面是用action计算出的渐变。看起来好像很麻烦,其实也很容易的,因为我们只要知