一些基本的功能,其它功能还有待扩展:(代码如下)
var flag:Boolean = false;//判断,当鼠标点击后开始画。当鼠标松开后停止画
var sdu:Number = 1;//变化的深度
var yanse:Array = ["0x2223DD", "0x2BD55E", "0xEC6913", "0xF90606"];//色块
var xiantiao:Array = ["1", "3", "5", "7"];
var xtbh = 0;//记录线条粗细变化
var ysbh = 0;//记录变化颜色
var lines:Array = new Array();
var lis:Object = new Object();
//CTRL+Z做撤销
t1_txt.border = true;
lis.onKeyDown = function() {
//t1_txt.text = Key.getCode();测试按键的值
if (Key.isDown(17) && Key.isDown(90)) {
cxhs();
}
};
Key.addListener(lis);
cx_mc.onPress = function() {
cxhs();
};
function cxhs() {
if (sdu>0) {
sdu--;
ht_mc["xian"+sdu]._visible = false;
}
//removeMovieClip()
}
//创建画板
_root.createEmptyMovieClip("ht_mc",1);
ht_mc.lineStyle(1,0xff0000);
ht_mc.setMask(zzao_mc);
sz_txt.border = true;
_root.onMouseDown = function() {
if (qyu_mc.hitTest(_xmouse, _ymouse)) {
ht_mc.createEmptyMovieClip("xian"+sdu,sdu);
ht_mc["xian"+sdu].lineStyle(xtbh,ysbh);
flag = true;
ht_mc["xian"+sdu].moveTo(_xmouse,_ymouse);
ht_mc["xian"+sdu].lineTo(_xmouse+1,_ymouse+1);
lines.splice(sdu+1);
}
};
_root.onMouseMove = function() {
if (flag) {
ht_mc["xian"+sdu].lineTo(_xmouse,_ymouse);
}
};
_root.onMouseUp = function() {
if (flag) {
flag = false;
sdu++;
lines.push(ht_mc["xian"+sdu]);
//trace(sdu);
}
//trace("长度:"+lines.length);
//trace("深度:"+sdu);
};
//清楚画板后,再创建一个
qc_mc.onPress = function() {
ht_mc.removeMovieClip();
sdu = 0;
_root.createEmptyMovieClip("ht_mc",1);
ht_mc.lineStyle(1,0xff0000);
ht_mc.setMask(zzao_mc);
};
//换颜色和变线条粗细
for (var i = 0; i<4; i++) {
_root["ys"+i+"_mc"].id = i;
_root["xt"+i+"_mc"].id = i;
_root["ys"+i+"_mc"].onPress = function() {
trace(this.id);
ysbh = yanse[this.id];
};
_root["xt"+i+"_mc"].onPress = function() {
trace(this.id);
xtbh = xiantiao[this.id];
};
}
//做恢复
hf_mc.onPress = function() {
if (sdu<lines.length+1) {
ht_mc["xian"+sdu]._visible = true;
sdu++;
}
};
下面二张图分别为:场景里面的元件
第二张为:时间轴上的元件名称,可以对着代码和图片看
做到这里,画板基本上就可以用了,功能还待扩展中...