//===== 绘制一个正方形作为色块以备调用 =====
_root.createEmptyMovieClip("box", -1);
var box_size:Number = 12;
var TheCol = 0x0;
//用于存储所取的色彩值
with (box) {
beginFill(TheCol);
moveTo(0, 0);
lineTo(box_size, 0);
lineTo(box_size, box_size);
lineTo(0, box_size);
lineTo(0, 0);
endFill();
}
box._visible = false;
//============================================
//************* 下面生成一个调色盘 *************
var panex:Number = 3;
var paney:Number = 3;
var column:Number = 18;
//起点 x 坐标为 3, 起点 y 坐标为 3, 总行数为 18
var i = 0;
for (var r = 0; r<=0xFF; r += 0x33) {
for (var g = 0; g<=0xFF; g += 0x33) {
for (var b = 0; b<=0xFF; b += 0x33) {
var p:MovieClip = box.duplicateMovieClip("box"+i, i);
new Color(p).setRGB(r*256*256+g*256+b);
//new Color(p).setRGB(r << 16 | g << 8 | b);
//RGB转换公式,以上两种都可以使用
p._x = panex + Math.floor(i/column)*(box_size+1);
p._y = paney + i%column*(box_size+1);
//设置每个色块的坐标 行坐标: [i/column], 列坐标: i%column
p.onRelease = function() {
TheCol = new Color(this).getRGB();
new Color(curser.BG).setRGB(TheCol);
//点击到该色块后进行取色于保存到TheCol变量中
};
i++;
}
}
}
//******************************************
//===== 判断点击到图案上以后对哪个影片剪辑填色 =====
mc.onRelease = function() {
var flag:Boolean = true;
//增加一个flag为了避免一次对多个影片进行填色
for (var k in mc) {
if (mc[k].hitTest(_xmouse, _ymouse, true) && flag) {
new Color(mc[k]).setRGB(TheCol);
flag = false;
}
}
};
//============================================
//************* 对mc中所有填充色的读取和保存 *************
save_btn.onRelease = function() {
var so:SharedObject = SharedObject.getLocal("Color_save");
for (var k in mc) {
so.data[k] = new Color(mc[k]).getRGB();
}
};
load_btn.onRelease = function() {
var so:SharedObject = SharedObject.getLocal("Color_save");
for (var k in mc) {
new Color(mc[k]).setRGB(so.data[k]);
}
};
//******************************************