[ActionScript 3.0] 自制简单拾色器
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");
}
} }
[ActionScript 3.0] 自制简单拾色器的更多相关文章
- 使用 HTML5 canvas制作拾色器
自制的拾色器漂亮吧,哈哈 废话不多说直接上代码,希望可以帮到需要的朋友 <html><head> <style> .canvas_color{p ...
- 原生js编写的安全色拾色器
<html > <head> <meta http-equiv="Content-Type" content="text/html; cha ...
- HTML-参考手册: HTML 拾色器
ylbtech-HTML-参考手册: HTML 拾色器 1.返回顶部 1. HTML 拾色器 选取颜色: 或输入颜色值: OK 或使用 HTML5: 选择的颜色: 黑色文本 阴影 白色文本 阴 ...
- 拾色器,可以取出电脑屏幕的任何颜色,ui以及程序员前端等常用软件,文件很小,300K
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985,转载请说明出处. 今天给大家介绍一个小软件,挺实用的,叫做拾色器. 用途:取出电脑屏幕的任意颜色,当你 ...
- 使用css3和javascript开发web拾色器实例
本实例中的web拾色器功能使用css3实现页面效果,即在页面上显示的元素用css3样式来实现的.再使用js生成拾色器颜色数据,并控制各元素的鼠标事件.当事件作为反应时,获取到对应的数据并显示颜色值. ...
- PS拾色器(前景色背景色)快捷键
快捷键 I 是拾色器 X 是前后色切换
- Android Studio中如何设置颜色拾色器工具
Android Studio如何设置颜色拾色器工具Color Picker? 你可能下载过一些获取颜色值的一些小工具, 这种方式获取颜色,需要先切换窗口转跳到桌面,然后打开拾色器小工具程序,然后去拾取 ...
- Linux下的高级拾色器—Pick
导读 虽然大多数设计师都在使用 Mac,但也有一少部分在使用 Windows 甚至是 Linux 系统.在 Mac 和 Windows 中都有非常丰富的拾色器工具或插件可用,反而在开源界中这类颜色选择 ...
- 优动漫PAINT基础系列之拾色器教学
在优动漫PAINT中有类似Photoshop的拾色器功能么?在优动漫PAINT中,可以直接输入颜色数值选择颜色么?当然是可以的啦!怎么呼出拾色器界面~ 看这边... 前段时间小编有收到一些小伙伴的疑问 ...
随机推荐
- 【UVA11613 训练指南】生产销售规划 【费用流】
题意: Acme公司生产一种X元素,给出该元素在未来M个月中每个月的单位售价.最大产量.最大销售量,以及最大储存时间(过期报废不过可以储存任意多的量).你的任务是计算出公司能够赚到的最大利润. 分析: ...
- 128. Longest Consecutive Sequence (HashTable)
Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...
- Paradox
克己博伦 当一个无法阻挡的力量,碰到了一个无法移动的物体?如果这个力量移动了物体,那么这个物体就不是无法移动的.如果这个力量没有移动物体,那么这个无法阻挡的力量就被挡了下来. 上帝能造出一个重到他自己 ...
- Fix: The account is not authorized to log in from this station
If you have more the one computers running Windows, then its possible to connect them using HomeGrou ...
- code1540 银河英雄传说
pa[i]代表i的father pre[i]代表i之前有多少个 sum[i]代表i所在的整列有多少个 cc为命令类型,x y为命令参数, fx fy分别为x y的father 当cc==‘M’时,合并 ...
- [Cookie] Read Cookie and Pass in headers
在同一个Suite里 import com.eviware.soapui.support.types.StringToStringMap def headers = testRunner.testCa ...
- 实践作业4---DAY4阶段三。
阶段三:给出结论 这一阶段,我们首先列表从核心功能.细节.用户体验.辅助功能差异化功能.软件的适应性和成长性展开.我们得结论前参考了权威网站数据.并自己也做了相应分析. 结论:经过这么多工作,这个软件 ...
- Spring框架总结(四)
对象依赖关系 Spring中,如何给对象的属性赋值? [DI, 依赖注入] 1) 通过构造函数 2) 通过set方法给属性注入值 3) p名称空间 4)自动装配(了解) 5) 注解 一.对象属性赋值 ...
- CodeForces 540B School Marks (贪心)
题意:先给定5个数,n, k, p, x, y.分别表示 一共有 n 个成绩,并且已经给定了 k 个,每门成绩 大于0 小于等于p,成绩总和小于等于x, 但中位数大于等于y.让你找出另外的n-k个成 ...
- Linux软件包的管理
RPM软件包 RPM软件包一般的安装位置(分散): 管理程序:/sbin/* /usr/sbin/* 普通用户程序:/bin/* /usr/bin/* rpm -q ===> rpm -quer ...