Flash中模拟创建系统颜色样本(颜色拾取器)
2008-10-20 23:22
309 查看
Flash AS2.0/1.0 codes
1、在Falsh中建立一个按钮
2、拷贝以下代码到按钮的on(release)事件中,或者在根时间轴上使用
btn_createColorTable.onRelease = function():Void {
// 模拟的类似Flash内置的颜色样本表格
// 颜色样本的表格为12行*18列的表
// 每个颜色样本的格子大小为10*10,间隔为1。
// 间隔用line来填充,用来形成表格边框
var colorCellNum:Number = 0;
var colorCellX = 0;
var colorCellY = -1;
for (var i:Number = 0; i<=5; i++) {
for (var j:Number = 0; j<=5; j++) {
for (var k:Number = 0; k<=5; k++) {
_root.createEmptyMovieClip("newColorMC"+i+j+k,_root.getNextHighestDepth());
colorCellNum++;
colorCellY++;
with (_root["newColorMC"+i+j+k]) {
if (colorCellY == 6) {
colorCellY = 0;
colorCellX++;
}
_x = 11*colorCellX;
_y = 11*colorCellY;
if (colorCellNum>6*18) {
_x -= 11*18;
_y += 6*11;
}
beginFill(0x000000);
moveTo(0,0);
lineTo(10,0);
lineTo(10,10);
lineTo(0,10);
lineTo(0,0);
endFill();
// Create a color object called my_color for the target _root["newColorMC"+i+j+k]
var my_color:Color = new Color(_root["newColorMC"+i+j+k]);
// Create a color transform object called myColorTransform using
// Set the values for myColorTransform
var myColorTransform:Object = {ra:0, rb:51*i, ga:0, gb:51*j, ba:0, bb:51*k, aa:300, ab:300};
// Associate the color transform object with the Color object
// created for _root["newColorMC"+i+j+k]
my_color.setTransform(myColorTransform);
_root["newColorMC"+i+j+k].onRollOver = function():Void {
// 这里用来改变鼠标变成吸管光标样式
};
_root["newColorMC"+i+j+k].onRelease = function():Void {
// 这里获取颜色值,并相应运用
_color = new Color(this);
with (_root["colorShow"]) {
// 用getRGB()函数默认的类型直接传递颜色值
// 查看自带帮助推荐使用以下函数,而不使用getRGB()。:(
// import flash.geom.ColorTransform;
// import flash.geom.Transform;
beginFill(_color.getRGB(),100);
// 用16进制颜色格式
// beginFill("0x"+_color.getRGB().toString(16),100);
moveTo(300,300);
moveTo(300,300);
lineTo(300+100,300+0);
lineTo(300+100,300+100);
lineTo(300+0,300+100);
lineTo(300+0,300+0);
endFill();
}
};
}
}
}
}
// 用黑色线来分隔每个颜色样本格
lineStyle(1,0x000000,100);
for (var m:Number = -1; m<12; m++) {
moveTo(0,10+m*11);
lineTo(11*18,10+m*11);
}
for (var n:Number = -1; n<18; n++) {
moveTo(10+n*11,0);
lineTo(10+n*11,11*12);
}
};
// 以下为模拟取色输出
_root.createEmptyMovieClip("colorShow",_root.getNextHighestDepth());
1、在Falsh中建立一个按钮
2、拷贝以下代码到按钮的on(release)事件中,或者在根时间轴上使用
btn_createColorTable.onRelease = function():Void {
// 模拟的类似Flash内置的颜色样本表格
// 颜色样本的表格为12行*18列的表
// 每个颜色样本的格子大小为10*10,间隔为1。
// 间隔用line来填充,用来形成表格边框
var colorCellNum:Number = 0;
var colorCellX = 0;
var colorCellY = -1;
for (var i:Number = 0; i<=5; i++) {
for (var j:Number = 0; j<=5; j++) {
for (var k:Number = 0; k<=5; k++) {
_root.createEmptyMovieClip("newColorMC"+i+j+k,_root.getNextHighestDepth());
colorCellNum++;
colorCellY++;
with (_root["newColorMC"+i+j+k]) {
if (colorCellY == 6) {
colorCellY = 0;
colorCellX++;
}
_x = 11*colorCellX;
_y = 11*colorCellY;
if (colorCellNum>6*18) {
_x -= 11*18;
_y += 6*11;
}
beginFill(0x000000);
moveTo(0,0);
lineTo(10,0);
lineTo(10,10);
lineTo(0,10);
lineTo(0,0);
endFill();
// Create a color object called my_color for the target _root["newColorMC"+i+j+k]
var my_color:Color = new Color(_root["newColorMC"+i+j+k]);
// Create a color transform object called myColorTransform using
// Set the values for myColorTransform
var myColorTransform:Object = {ra:0, rb:51*i, ga:0, gb:51*j, ba:0, bb:51*k, aa:300, ab:300};
// Associate the color transform object with the Color object
// created for _root["newColorMC"+i+j+k]
my_color.setTransform(myColorTransform);
_root["newColorMC"+i+j+k].onRollOver = function():Void {
// 这里用来改变鼠标变成吸管光标样式
};
_root["newColorMC"+i+j+k].onRelease = function():Void {
// 这里获取颜色值,并相应运用
_color = new Color(this);
with (_root["colorShow"]) {
// 用getRGB()函数默认的类型直接传递颜色值
// 查看自带帮助推荐使用以下函数,而不使用getRGB()。:(
// import flash.geom.ColorTransform;
// import flash.geom.Transform;
beginFill(_color.getRGB(),100);
// 用16进制颜色格式
// beginFill("0x"+_color.getRGB().toString(16),100);
moveTo(300,300);
moveTo(300,300);
lineTo(300+100,300+0);
lineTo(300+100,300+100);
lineTo(300+0,300+100);
lineTo(300+0,300+0);
endFill();
}
};
}
}
}
}
// 用黑色线来分隔每个颜色样本格
lineStyle(1,0x000000,100);
for (var m:Number = -1; m<12; m++) {
moveTo(0,10+m*11);
lineTo(11*18,10+m*11);
}
for (var n:Number = -1; n<18; n++) {
moveTo(10+n*11,0);
lineTo(10+n*11,11*12);
}
};
// 以下为模拟取色输出
_root.createEmptyMovieClip("colorShow",_root.getNextHighestDepth());
相关文章推荐
- 利用系统自带脚本utlsampl.sql创建scott用户及样本数据
- eCos flash模拟EEPROM实现NV系统
- 创建一个显示所有预定义系统颜色的ListBox
- centos系统之修改新创建文件夹目录显示颜色
- 利用系统自带脚本utlsampl.sql创建scott用户及样本数据
- Android隐藏系统设置中“模拟颜色空间”选项
- centos系统创建文件夹目录显示颜色
- Swift 系统学习 33 Thread currentThread isMainThread 创建线程四种方式 模拟售票
- centos系统修改创建文件夹目录的显示颜色
- SC创建系统服务
- 2.5 创建颜色渐变效果(xml配置文件)
- 创建一个flash as3.0按钮并添加超链接
- 模拟学生档案管理系统
- 16.1.4火车站售票系统模拟程序(Event)
- 创建一个系统的Service,能通过ServiceManager.getService取得service
- 1、创建第一个swift程序(系统是OS X 10.11,工具是Xcode7.1)
- 创建双系统之——Linux系统虚拟机
- ———银行模拟系统———
- Linux 创建文件系统及挂载文件系统流程详解
- 练习 20:文件系统:修改和创建文件系统,tune2fs,mkfs