[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中,可以直接输入颜色数值选择颜色么?当然是可以的啦!怎么呼出拾色器界面~ 看这边... 前段时间小编有收到一些小伙伴的疑问 ...
随机推荐
- C# Equals
[C# Equals] 1.Object.Equals() The type of comparison between the current instance and the obj parame ...
- new 约束
[new 约束] new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数.如果要使用 new 约束,则该类型不能为抽象类型. 当泛型类创建类型的新实例,请将 new 约束应用于类型参数 ...
- Professional C# 6 and .NET Core 1.0 - Chapter 42 ASP.NET Web API
本文内容为转载,重新排版以供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处: -------------------------------------------------------- ...
- Codeforces 703E DP + 因数分解 +离散化
题意:给你n个数,和一个数m, 问最小需要多少个数,可以让这些数乘起来是m的倍数.如果有多组,取和最小的那一组. 思路:因为m的范围到1e12,并且和取模相关,所以容易想到处理出m的约数,然后离散化一 ...
- H5 css学习
p{text-indent:2em;}段前空两格 段落排版--行间距(行高) p{line-height:1.5em;} 段落排版--中文字间距.字母间距 h1{ letter-spaci ...
- 关于checkbox操作 table
引入 Validform验证 <script type="text/javascript"> //添加操作 crrTrTdCkId=1; ...
- 修复jqgrid setgridparam postdata 的多次查询条件累加
//根据elements查询出的参数个数的不同,而传递不同个数的查询参数 start var elements = node.attributes.text.split(","); ...
- 大数据时代,Python是最好的语言!
随着大数据疯狂的浪潮,新生代的工具Python得到了前所未有的爆发.简洁.开源是这款工具吸引了众多粉丝的原因.目前Python最热的领域,非数据分析和挖掘莫属了.从以Pandas为代表的数据分析领域开 ...
- Spring Boot☞ 使用freemarker模板引擎渲染web视图
效果图 代码 package com.wls.integrateplugs.hello.controller; /** * Created by wls on 2017/8/24. */ import ...
- 为 pycharm 修改 Theme & Color
版本: pycharm-community-4.5.2 安装之后先导入 (File --> Import Setting --> django.jar) 将文件pycharm-themes ...