|
用Action Script进行控制,可以随机画出各种图形,该教程为系列讲座,提供了许多很有用的AS代码……
使用方法:把代码拷到帧中就可看到效果
用鼠标任意画线
效果:可按住鼠标任意画线,可作简单的涂鸭工具
代码: createEmptyMovieClip("xian",1);
with (xian) {
_root.onMouseMove = function() {
if (draw) {
_root.lineStyle(0,0x000000, 100);
_root.lineTo(_root._xmouse,_root._ymouse);
}
};
_root.onMouseDown = function() {
draw = true;
_root.moveTo(_root._xmouse,_root._ymouse);
};
_root.onMouseUp = function() {
draw = false;
};
}
用鼠标任意画直线
效果:类似flash中的直线工具
代码: createEmptyMovieClip("line", n);
with (line) {
lineStyle(1, 0x000000, 100);
moveTo(0, 0);
lineTo(100, 100);
line._visible = 0;
}
_root.onMouseDown = function() {
qidian_x = _root._xmouse;
qidian_y = _root._ymouse;
with (line) {
_x = qidian_x;
_y = qidian_y;
_xscale = 0;
_yscale = 0;
_visible = 1;
}
};
_root.onMouseMove = function() {
endX = _root._xmouse;
endY = _root._ymouse;
if (_root.line != "_root.line" && key.isdown(16)){
if (Math.abs(endX-qidian_x)>Math.abs(endY-qidian_y)){
setProperty(_root.line, _xscale, endX-qidian_x);
setProperty(_root.line,_yscale, endX-qidian_x);
} else {
setProperty(_root.line, _xscale, endY-qidian_y);
setProperty(_root.line, _yscale, endY-qidian_y);
}
} else {
setProperty(_root.line, _xscale,endX-qidian_x);
setProperty(_root.line, _yscale,endY-qidian_y);
}
};
_root.onMouseUp = function() {
if (_root._xmouse-qidian_x != 0) {
i++;
Objectx = "Copy" add i;
duplicateMovieClip(_root.line, Objectx, i);
setProperty(Objectx, _x, qidian_x);
setProperty(Objectx, _y, qidian_y);
_root.i = i;
}
setProperty(_root.line, _visible, 0);
};
用鼠标任意画矩形
效果:类似flash中的矩形工具
代码: createEmptyMovieClip("line", n);
with (line) {
lineStyle(0.1, 0x000000, 100);
moveTo(0, 0);
lineTo(100, 0);
lineTo(100, 100);
lineTo(0, 100);
lineTo(0,0);
line._visible = 0;
}
_root.onMouseDown = function() {
qidian_x = _root._xmouse;
qidian_y = _root._ymouse;
with (line) {
_x = qidian_x;
_y = qidian_y;
_xscale = 0;
_yscale = 0;
_visible = 1;
}
};
_root.onMouseMove = function() {
endX = _root._xmouse;
endY = _root._ymouse;
if (_root.line != "_root.line" && key.isdown(16)){
if (Math.abs(endX-qidian_x)>Math.abs(endY-qidian_y)){
setProperty(_root.line,_xscale, endX-qidian_x);
setProperty(_root.line, _yscale, endX-qidian_x);
} else {
setProperty(_root.line,_xscale, endY-qidian_y);
setProperty(_root.line,_yscale, endY-qidian_y);
}
} else {
setProperty(_root.line, _xscale,endX-qidian_x);
setProperty(_root.line, _yscale,endY-qidian_y);
}
};
_root.onMouseUp = function() {
if (_root._xmouse-qidian_x != 0) {
i++;
Objectx = "Copy" add i;
duplicateMovieClip(_root.line,Objectx, i);
setProperty(Objectx, _x, qidian_x);
setProperty(Objectx, _y, qidian_y);
_root.i = i;
}
setProperty(_root.line, _visible, 0);
};
用鼠标任意画圆、椭圆
上一篇:AS1.0的OOP 与 AS2.0的OOP对比
下一篇:FlashMX教程-Load Movie
|