flash利用as動(dòng)態(tài)畫線畫圓,例如:從點(diǎn)a(x,y)自動(dòng)畫線到b(x1,y1)再自動(dòng)畫線到c(x2,y2)。
下面用as來實(shí)現(xiàn),源代碼如下:
_root.createEmptyMovieClip("terrain", 1);
這個(gè)函數(shù)的功能是創(chuàng)建一個(gè)空的MC,名字為terrain。
然后開始畫線:
_root.terrain.lineStyle(10, 0xff0000, 100);
10代表線的粗細(xì);0xff0000代表線顏色;100代表線的alpha為100。
你可以查看一下手冊(cè)lineStyle函數(shù)的使用。
下面開始具體給出畫線的代碼:
畫紅色矩形:
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);
可以創(chuàng)建一個(gè)自定義函數(shù),周期時(shí)間間隔調(diào)用這個(gè)函數(shù),以“動(dòng)”的形式畫出來。
把下面的代碼寫到第一幀就可以了
var itvl:Number;
var start_x:Number = 100;//繪畫起點(diǎn)x坐標(biāo)
var start_y:Number = 100;//繪畫起點(diǎn)y坐標(biāo)
this.createEmptyMovieClip("draw_mc", 1); // 創(chuàng)建一個(gè)影片剪輯
draw_mc.lineStyle(1, 0x000000); // 設(shè)置線條樣式(粗細(xì)為1, 顏色為黑色)
draw_mc.moveTo(start_x, start_y); // 繪畫的起點(diǎn)(100, 100)
// 自定義繪畫函數(shù)
function drawByOne() {
draw_mc.lineTo(++start_x, ++start_y);// 畫到某一點(diǎn),這一點(diǎn)是每次都把x和y坐標(biāo)加上1,++x的意思就是x = x + 1;
if (start_x == 200) {// 當(dāng)畫到x坐標(biāo)等于200的時(shí)候,停止繪畫
clearInterval(itvl);// 停止周期回調(diào)
}
}
itvl = setInterval(drawByOne, 100);//使用周期回調(diào)函數(shù),每隔100毫秒調(diào)用drawByOne函數(shù)一次.
源文件下載 解壓密碼為:www.webjx.com
其實(shí),也可以用遮罩來實(shí)現(xiàn)畫線的過程:
先把線畫好,用遮罩的移動(dòng)來使線一點(diǎn)點(diǎn)的顯現(xiàn)出來。