colorBoard为库中绑定的影片剪辑,colorBoard中包含影片剪辑currColor,文本colorText,影片剪辑close;

colorDot为库中绑定的影片剪辑,colorDot中包含影片剪辑dot,border;

 package
{
import fl.motion.Color;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.ColorTransform; /**
* ...
* @author Frost.Yen
*/
public class ColorPicker extends Sprite
{
private var _colorBoard:MovieClip;
private var _colorArr:Array = [0,0x333333,0x666666,0x999999,0xCCCCCC,0xFFFFFF,0xFF0000,0x00FF00,0x0000FF,0xFFFF00,0x00FFFF,0xFF00FF];
private var _colorW:Number = 10;
private var _prevBorder:MovieClip;
public function ColorPicker()
{
creatColorBoard();
} private function creatColorBoard():void
{
_colorBoard = new colorBoard ;
_colorBoard.x = 150;
_colorBoard.y = 150;
this.addChild(_colorBoard);
for (var i:int = 0; i < 12; i++)
{
var dot1:colorDot = new colorDot ;
dot1.x = 0;
dot1.y = i * _colorW;
_colorBoard.addChild(dot1);
setColorTransform(dot1.dot,_colorArr[i]);
//trace(_colorArr[i]);
//trace(_colorArr[i].toString(16));
dot1.name = String(_colorArr[i]);
//trace(uint(dot1.name).toString(16), "---");
dot1.addEventListener(MouseEvent.CLICK,onColorClick);
}
for (var R = 0; R < 6; R++)
{
for (var G = 0; G < 6; G++)
{
for (var B = 0; B < 6; B++)
{
var dot2:colorDot = new colorDot ;
dot2.x = B * _colorW + R % 3 * 6 * _colorW + _colorW;
dot2.y = G * _colorW + Math.floor((R / 3)) * 6 * _colorW;
_colorBoard.addChild(dot2);
var color:uint = setRGB((0x33 * R),0x33 * B,0x33 * G);
setColorTransform(dot2.dot,color);
dot2.name = String(color);
dot2.addEventListener(MouseEvent.CLICK,onColorClick);
}
}
}
_prevBorder = _colorBoard.getChildByName("0") as MovieClip.border as MovieClip;
_colorBoard.colorText.text = "#" + "000000";
setColorTransform(_prevBorder,0xffffff);
setColorTransform(_colorBoard.currColor,0x000000);
_colorBoard.getChildByName("0").parent as MovieClip.setChildIndex(_colorBoard.getChildByName("0") as MovieClip,_colorBoard.getChildByName("0") as MovieClip.parent.numChildren - 1);
_colorBoard.close.addEventListener(MouseEvent.CLICK,onCloseColorPicker);
} private function onColorClick(e:MouseEvent):void
{ var color:String = uint(e.currentTarget.name).toString(16);
color = color.length == 2 ? "0000" + color:color.length == 4 ? ("00" + color):color.length == 1 ? ("00000" + color):color;
//trace(color,"+++");
_colorBoard.colorText.text = "#" + color;
setColorTransform(_colorBoard.currColor,uint(("0x" + color)));
setColorTransform(e.currentTarget.border,0xffffff);
setColorTransform(_prevBorder,0x000000);
_prevBorder = e.currentTarget.border as MovieClip;
e.currentTarget.parent as MovieClip.setChildIndex(e.currentTarget as MovieClip,e.currentTarget.parent.numChildren - 1);
}
/**
* 改变影片剪辑颜色值
* @param mc
* @param color
*/
private function setColorTransform(mc:MovieClip,color:uint):void
{
var ct:ColorTransform = new ColorTransform ;
ct.color = color;
mc.transform.colorTransform = ct;
}
/**
* 设置RGB
* @param r
* @param g
* @param b
* @return
*/
private function setRGB(r:Number,g:Number,b:Number):Number
{
return r << 16 | g << 8 | b;
} private function onCloseColorPicker(e:MouseEvent):void
{
trace("close");
}
} }

最新文章

  1. [LeetCode] Combination Sum 组合之和
  2. UVALive-4839 HDU-3686 Traffic Real Time Query System 题解
  3. ShellExecuteA
  4. Javascript模板引擎mustache.js详解
  5. LoadRunner11.00安装问题及解决方法
  6. 设置div居中
  7. Proxy模式
  8. NS_ENUM和NS_OPTIONS区别
  9. UVa532 Dungeon Master 三维迷宫
  10. ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
  11. 实现js的类似alert效果的函数
  12. CSS flex让所有灵活的项目都带有相同的长度,忽略它们的内容:
  13. Gentoo Linux 学习笔记1
  14. node.js第十课(HTTPserver)
  15. 计算机视觉与模式识别代码合集第二版two
  16. Scala中function的理解
  17. C#使用NOPI导入Excel
  18. String String Buffer String Builder
  19. .asmx支持post请求或者get请求调用(WebService &quot;因 URL 意外地以 结束,请求格式无法识别&quot; 的解决方法)
  20. Fiddler--QuickExec

热门文章

  1. jmeter 读取mysql数据库
  2. Codeforces 678E 状压DP
  3. CENTOS 配置好SVN服务环境后,其他服务器无法访问 Error: Can&#39;t connect to host &#39;192.168.1.103&#39;: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
  4. Opencv3 图片膨胀与腐蚀
  5. 面向对象的JavaScript-005-Function.prototype.call()的3种作用
  6. Red Hat 6.5 Samba服务器的搭建(登录访问)
  7. STL中 map 和 multimap
  8. CentOS 7 下 ifconfig command not found 解决办法
  9. Centos7下安装与卸载Jdk1.8
  10. JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(8):装配SpringBean概述(如何合理使用装配级别)