flash利用as动态画线画圆,例如:从点a(x,y)自动画线到b(x1,y1)再自动画线到c(x2,y2)。
下面用as来实现,源代码如下:
_root.createEmptyMovieClip("terrain", 1);
这个函数的功能是创建一个空的MC,名字为terrain。
然后开始画线:
_root.terrain.lineStyle(10, 0xff0000, 100);
10代表线的粗细;0xff0000代表线颜色;100代表线的alpha为100。
你可以查看一下手册lineStyle函数的使用。
下面开始具体给出画线的代码:
画红色矩形:
createEmptyMovieClip("terrain", 1);
terrain.lineStyle(10, 0xff00ff, 100);
terrain.moveTo(100, 100);
terrain.lineTo(300, 100);
terrain.lineTo(300, 300);
terrain.lineTo(100, 300);
terrain.lineTo(100, 100);
可以创建一个自定义函数,周期时间间隔调用这个函数,以“动”的形式画出来。
把下面的代码写到第一帧就可以了
var itvl:Number;
var start_x:Number = 100;//绘画起点x坐标
var start_y:Number = 100;//绘画起点y坐标
this.createEmptyMovieClip("draw_mc", 1); // 创建一个影片剪辑
draw_mc.lineStyle(1, 0x000000); // 设置线条样式(粗细为1, 颜色为黑色)
draw_mc.moveTo(start_x, start_y); // 绘画的起点(100, 100)
// 自定义绘画函数
function drawByOne() {
draw_mc.lineTo(++start_x, ++start_y);// 画到某一点,这一点是每次都把x和y坐标加上1,++x的意思就是x = x + 1;
if (start_x == 200) {// 当画到x坐标等于200的时候,停止绘画
clearInterval(itvl);// 停止周期回调
}
}
itvl = setInterval(drawByOne, 100);//使用周期回调函数,每隔100毫秒调用drawByOne函数一次.
源文件下载 解压密码为:www.webjx.com
其实,也可以用遮罩来实现画线的过程:
先把线画好,用遮罩的移动来使线一点点的显现出来。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。