flash課件中常用畫圖函數(shù)總結(jié)
因?yàn)檎n件演示時(shí)需動(dòng)態(tài)過程,所以得用lineto()實(shí)現(xiàn),而不能用curveto()畫圖
*兩點(diǎn)間畫直線
*畫螺旋線
*畫正方形、圓、橢圓
*拋物線
*正弦、余弦線
使用方法:加到幀中就可
// 畫直線
// / x1, y1: 起點(diǎn)坐標(biāo)
// x2, y2: 終點(diǎn)坐標(biāo)
// k是層次
movieclip.prototype.drawline = function(x1, y1, x2, y2, k) {
this.linestyle(1);
this.moveto(x1, y1);
this.lineto(x2, y2);
};
// 從(0,0)到(100,100)畫一條線
_root.createemptymovieclip("mc", 10);
mc.drawline(0, 0, 100, 100);
// 畫螺旋線
// w、h為寬和高
// f控制線的長(zhǎng)短,用弧度表示
movieclip.prototype.drawhelix = function(w, h, f) {
for (var i = 0; i this.lineto(x=math.sin(i)*i*w, y=math.cos(i)*i*h);
this.linestyle(1);
}
};
// 以(100,100)為中心畫螺旋線
_root.createemptymovieclip("luo", 1);
with (luo) {
drawhelix(5, 5, 13);
_x += 100;
_y += 100;
}
// 多功能函數(shù),可畫圓,橢圓,正多邊形等
// n為邊數(shù)
movieclip.prototype.drawmany = function(w, h, n) {
f = 2*math.pi;
for (var i = 0; i<=f/n*(n+1); i += f/n) {
this.lineto(x=math.sin(i)*w, y=math.cos(i)*h);
this.linestyle(1);
}
};
// 畫一正五邊形
_root.createemptymovieclip("duobian", 2);
with (duobian) {
drawmany(50, 50, 5);
_x += 250;
_y += 100;
// 5為多邊形的邊數(shù),6.3為2pai
}
// 畫一橢圓
_root.createemptymovieclip("tuo", 3);
with (tuo) {
drawmany(25, 50, 100);
_x += 400;
_y += 100;
}
// 圓
_root.createemptymovieclip("yuan", 4);
with (yuan) {
drawmany(50, 50, 100);
_x += 400;
_y += 300;
}
// 拋物線
movieclip.prototype.drawparabola = function(l, r, k) {
for (var i = -l; i<=r; i += 1) {
this.lineto(x=i, y=k*i*i);
this.linestyle(1);
}
};
// 調(diào)用
_root.createemptymovieclip("parabola", 100);
with (parabola) {
drawparabola(50, 50, 0.05);
_x += 200;
_y += 200;
// 頂點(diǎn)坐標(biāo)
}
// 正弦線,余弦類似
movieclip.prototype.drawsin = function(n, k) {
for (var i = 0; i<=90*n; i += 1) {
this.lineto(x=i, y=k*math.sin(i*math.pi/180));
this.linestyle(1);
}
};
_root.createemptymovieclip("sin", 101);
with (sin) {
drawsin(4, 50);
_x += 200;
_y += 200;
// 頂點(diǎn)坐標(biāo)
}
movieclip.prototype.drawwave = function(w, h) {
for (var i = 0; i<=6.3; i += 0.01) {
this.lineto(x=w/math.cos(i), y=h*math.sin(i)/math.cos(i));
this.linestyle(1);
}
};
_root.createemptymovieclip("wave", 105);
with (wave) {
drawwave(100, 100);
_x += 200;
_y += 200;
// 頂點(diǎn)坐標(biāo)
}
因?yàn)檎n件演示時(shí)需動(dòng)態(tài)過程,所以得用lineto()實(shí)現(xiàn),而不能用curveto()畫圖
*兩點(diǎn)間畫直線
*畫螺旋線
*畫正方形、圓、橢圓
*拋物線
*正弦、余弦線
使用方法:加到幀中就可
// 畫直線
// / x1, y1: 起點(diǎn)坐標(biāo)
// x2, y2: 終點(diǎn)坐標(biāo)
// k是層次
movieclip.prototype.drawline = function(x1, y1, x2, y2, k) {
this.linestyle(1);
this.moveto(x1, y1);
this.lineto(x2, y2);
};
// 從(0,0)到(100,100)畫一條線
_root.createemptymovieclip("mc", 10);
mc.drawline(0, 0, 100, 100);
// 畫螺旋線
// w、h為寬和高
// f控制線的長(zhǎng)短,用弧度表示
movieclip.prototype.drawhelix = function(w, h, f) {
for (var i = 0; i this.lineto(x=math.sin(i)*i*w, y=math.cos(i)*i*h);
this.linestyle(1);
}
};
// 以(100,100)為中心畫螺旋線
_root.createemptymovieclip("luo", 1);
with (luo) {
drawhelix(5, 5, 13);
_x += 100;
_y += 100;
}
// 多功能函數(shù),可畫圓,橢圓,正多邊形等
// n為邊數(shù)
movieclip.prototype.drawmany = function(w, h, n) {
f = 2*math.pi;
for (var i = 0; i<=f/n*(n+1); i += f/n) {
this.lineto(x=math.sin(i)*w, y=math.cos(i)*h);
this.linestyle(1);
}
};
// 畫一正五邊形
_root.createemptymovieclip("duobian", 2);
with (duobian) {
drawmany(50, 50, 5);
_x += 250;
_y += 100;
// 5為多邊形的邊數(shù),6.3為2pai
}
// 畫一橢圓
_root.createemptymovieclip("tuo", 3);
with (tuo) {
drawmany(25, 50, 100);
_x += 400;
_y += 100;
}
// 圓
_root.createemptymovieclip("yuan", 4);
with (yuan) {
drawmany(50, 50, 100);
_x += 400;
_y += 300;
}
// 拋物線
movieclip.prototype.drawparabola = function(l, r, k) {
for (var i = -l; i<=r; i += 1) {
this.lineto(x=i, y=k*i*i);
this.linestyle(1);
}
};
// 調(diào)用
_root.createemptymovieclip("parabola", 100);
with (parabola) {
drawparabola(50, 50, 0.05);
_x += 200;
_y += 200;
// 頂點(diǎn)坐標(biāo)
}
// 正弦線,余弦類似
movieclip.prototype.drawsin = function(n, k) {
for (var i = 0; i<=90*n; i += 1) {
this.lineto(x=i, y=k*math.sin(i*math.pi/180));
this.linestyle(1);
}
};
_root.createemptymovieclip("sin", 101);
with (sin) {
drawsin(4, 50);
_x += 200;
_y += 200;
// 頂點(diǎn)坐標(biāo)
}
movieclip.prototype.drawwave = function(w, h) {
for (var i = 0; i<=6.3; i += 0.01) {
this.lineto(x=w/math.cos(i), y=h*math.sin(i)/math.cos(i));
this.linestyle(1);
}
};
_root.createemptymovieclip("wave", 105);
with (wave) {
drawwave(100, 100);
_x += 200;
_y += 200;
// 頂點(diǎn)坐標(biāo)
}