思路:1.设一个pressed变量,为布尔型,初始为false;
2.鼠标移动就画线;
3.当pressed=true 时,鼠标移动时,可以画线;
4.当pressed=false时,鼠标移动时,不能画线;
5.最后再加入一些按钮来调整线条粗细和清空画板.
步骤一:
放入三个按扭,实例名分别为:
"clear_btn":
清除线条;
"str_btn":
加粗线条;
"thin_btn":
减细线条。
步骤二:
加入AS代码层:
var linesize
= 2;
//默认线条粗细为2
var pressed:Boolean =
false;
//pressed=true:开始画线;
pressed=false:停止画线
str_btn.onRelease =
function() {
if (linesize<5) {
linesize++;
//笔触加粗,粗度不能大于5
}
};
thin_btn.onRelease
= function() {
if (linesize>1) {
linesize--;
//笔触减细,细度不能小于1
}
};
clear_btn.onRelease
= function() {
_root.clear();
//实现清屏功能
};
this.onMouseDown = function () {
pressed =
true;
this.lineStyle(linesize,
0x000000, 100);
this.moveTo(_xmouse, _ymouse);
};
this.onMouseMove = function () {
if (pressed) {
lineTo(_xmouse, _ymouse);
}
};
this.onMouseUp = function () {
pressed =
false;
};
FLASH充电1:AS画线,既可以在舞台上(_root),也可以在影片剪辑上(mc).
推荐画在mc中,这样可以方便、灵活地控制。
FLASH充电2: 关于 lineTo 及
moveTo
(1)先要设置线条用 lineStyle( 粗度 ,
颜色 , 透明度)
(2)画笔的起点 moveTo( X坐标 , Y坐标 )
(3)画笔的终点 lineTo( X坐标 , Y坐标 )
(4)注意:执行完 lineTo
这个指令后,下一次画线的起点就是当前lineTo的位置,就不用再单独做一次moveTo指令了。
下面我们在mc中绘制一个矩形
_root.createEmptyMovieClip("mc", 10);
mc._x = 30;
mc._y = 30;
mc.lineStyle(2, 0x0, 100);
mc.moveTo(0, 0);
mc.lineTo(100, 0);
mc.lineTo(100, 100);
mc.lineTo(0, 100);
mc.lineTo(0, 0);
FLASH充电3: 关于 curveTo ( 控制点X ,
控制点Y , X坐标 , Y坐标 )
下面我们在mc中绘制一条曲线:
_root.createEmptyMovieClip("mc", 10);
mc._x = 30;
mc._y = 30;
mc.lineStyle(2, 0x0, 100);
mc.moveTo(0, 0);
mc.curveTo(0, 200, 100, 200);
FLASH充电4: 颜色填充 beginFill(颜色号)
及 endFill()
注意:填充只能在封闭的线条内进行。
下面为矩形填个绿色:
_root.createEmptyMovieClip("mc", 10);
mc._x = 30;
mc._y = 30;
mc.beginFill(0x00FF00);
mc.lineStyle(2, 0x0, 100);
mc.moveTo(0, 0);
mc.lineTo(100, 0);
mc.lineTo(100, 100);
mc.lineTo(0, 100);
mc.lineTo(0, 0);
mc.endFill();
FLASH充电5: 线条清除
clear()
如:_root.clear() 或 mc.clear()