RGB颜色action自定义教程(2) — 随机颜色篇

不能回头的青春

不能回头的青春

2016-01-29 12:49

RGB颜色action自定义教程(2) — 随机颜色篇,RGB颜色action自定义教程(2) — 随机颜色篇

  前面基础篇里我们讨论了怎么设置指定的颜色,我觉得不能算是很难的。但是一位朋友通过qq告诉我,他觉得有一点吃力。对此我很抱歉,以前我一直觉得有些ction的基础问题是不用多解释的,大家查查参考手册就是,现在看来朋友们的实际情况还是差别很大的,以后我会在这些方面注意一些,每一个新语句都加上注释。

  上次说得是颜色设置的基础,代码实际上只有两三句,从现在看时我们来继续说说颜色问题的一些深入问题,大概代码会逐渐的多起来,有我写的不明白的地方,大家结合提供的源文件看一下,或者在后面跟贴提问。

今天这一讲教程咱们看看随机颜色的问题,这个问题论坛上常有讨论,算是个老问题了。

我觉得实现随机颜色最简单的一句就是:
mycolor = new Color(this);
//新建一个color对象,名字是mycolor,指定的mc是它本身
mycolor.setRGB(random(0xffffff));
//mycolor对象设置RGB颜色,取色范围是从0到0xffffff随机

  好像已经没有办法使代码更少了吧?如果有,告诉我。我这一篇教程里面随机比较多,每一个都单独做swf很麻烦,我于是干脆做到一起来,用区域来区别。并且提供了flash源文件,大家那我提供的代码替换掉ball这个mc里的action,可以自己预览一下看看,还可以自己随便做做修改看看。这一段代码是区域1。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fjc/)

  但是我觉得这样最不好的方面在于,得到的很多色彩效果可能不太好,比如太接近白色不容易和背景区别,或者颜色太深了感觉不美观。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fjc/)

如果我们希望颜色分布在一个区间之内,比如不希望出现接近红色的颜色,好办:
mycolor = new Color(this);
mycolor.setRGB(random(0x80ffff));
(区域2)

  因为红色是最大的一位,但是不希望出现接近绿色的,可就不能random(0xff80ff)了,不信你自己改改试试。这是因为在random函数看来,0x00ff00也是比0xff80ff小的,没办法了吧。

  我的改进方法是三色分别random,然后再用“左移 << ”和“或 | ”的方法组合成一个数值。这种方法我在基础篇就用过,我觉得算不得新方法了。这是全色系的随机函数:
mycolor = new Color(this);
mycolor.setRGB(random(255)<<16|random(255)<<8|random(255));
(区域3)

  如果仅仅是这样用,和开始那种方法比,除了显得深奥,实在是没什么优点了。不过我们想再进一步做修改就容易了,刚才那个不要绿色,就可以:
mycolor = new Color(this);
mycolor.setRGB(random(255)<<16|random(128)<<8|random(255));
(区域4)

  如果想得到红色0xff0000和黄色0xffff00之间的颜色,因为红色和黄色之间只有g在改变,可以把r和b固定,仅仅random绿色:
mycolor = new Color(this);
mycolor.setRGB(255<<16|random(255)<<8|0);
(区域5)

  再比如不希望得到太深的颜色,只需要使random值不要太小,比如rgb三色加起来不小于384吧:
mycolor = new Color(this);
while (r+g+b<384) {
    r = random(255);
    g = random(255);
    b = random(255);
}
//默认rgb都为0,循环执行;如果rgb相加小于384,继续r"

展开更多 50%)
分享

猜你喜欢

RGB颜色action自定义教程(2) — 随机颜色篇

flash教程
RGB颜色action自定义教程(2) — 随机颜色篇

RGB颜色action自定义教程(3) — 颜色渐变篇

flash教程
RGB颜色action自定义教程(3) — 颜色渐变篇

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

RGB颜色action自定义教程 — 色光叠加篇

flash教程
RGB颜色action自定义教程 — 色光叠加篇

flash 颜色 action 自定义教程(1)

flash教程
flash 颜色 action 自定义教程(1)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

设计带图标和自定义颜色的ListBox

编程语言 网络编程
设计带图标和自定义颜色的ListBox

Win10系统自定义主题颜色的方法

windows10
Win10系统自定义主题颜色的方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash8滤镜与混合模式(1):滤镜效果概览

Flash8滤镜与混合模式(1):滤镜效果概览

在winform中使用WebBrowser控件时怎样去除IE的滚动条

在winform中使用WebBrowser控件时怎样去除IE的滚动条
下拉加载更多内容 ↓