flashMX中怎么画正多边形

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一、用Transform 面板

我们以正五边形为例

1、新建一文件,在场景任画一条直线,按 F8转换为影片,把中心定为左上角 ,如图1所示

图1:中心定在左上角

2、选中直线,按ctrl+T调出Transform 面板,并在Rotate框中输入72(360/5),角度的计算方法是360度除以边数。如图2

图2:Transform面板

3、按面板中的copy and apply transform按钮4次,就可复制出环形排列的四条直线

4、按CTRL+A选中所有的直线, 按ctrl+B打散,依次把直线的端点连接,去掉多余的线条就完工了。如图3。

图3:正五边形

二、用as

界面如下图所示,很简洁,有两个可输入文本框和一个按钮

你只要在文本框中输入边数和大小,按确定按钮,就可在画出你想的正多边形,下面我们就来一步步来制作吧。

1、启动flash,按CTRL+N新建一个文件,场景的大小和背景设置合理就可,按CTRL+S保存,文件名为正多边形。

2、按T键选取文本工具,并打开属性面板,如下图选择可输入文本,

在场景的左上角拖曳一文本框,作为多边形的边数,还是在属性面板中的Var栏中输入bb,为文本框取一变量名,以方便后面程序的调用。用同法制作另一文本框,取名aa,作为多边形的大小。

3、在场景中画一小方块,并选中,按F8转换为按钮,

4、最后为按钮添加as,如下所示:

思路:把一个圆划分成n等分,把这些点连接起来,如右图示怎样画五边形on (release) //鼠标释放时执行下列语句

{

daxiao=aa;

//从输入的文本框中获取多边形的大小,以像素为单位

bianshu = bb;

// 获取边数,整数,从3开始,到无穷大,n多边形就是圆

jiaodu = 360/bianshu;

//得到每个等分的角度

for (n=1; n<=bianshu; n++)

//for循环,由bianshu来控制循环的次数,也就是要画的多边形的边数

{

a = daxiao*math.cos(n*jiaodu*math.pi/180);

b = daxiao*math.sin(n*jiaodu*math.pi/180);

//用三角函数算出起点的坐标

c = daxiao*math.cos((n+1)*jiaodu*math.pi/180);

d = daxiao*math.sin((n+1)*jiaodu*math.pi/180);

//同理算出终点的坐标

createEmptyMovieClip("xian", n);

// 创建一个空影片xian,n为层次

with (xian) {

lineStyle(2, 0xff0000, 100);

// 定义线的大小、颜色、透明度

moveTo(a+300, b+200); //定义画线的起点的坐标,(300,200)是多边形的中心

lineTo(c+300, d+200);//定义画线的终点的坐标

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航