当前位置: 老葡京网站娱乐 > 图形设计 > FLASH教程 > 正文

[AS功能代码教程04] 进阶三角函数

时间:2010-05-28 新浪blog FL基础理论大师

老葡京网站娱乐 www.sdguanhua.com 在AS 03教程中,我们介绍了关于三角函数基础应用

现在为上次课的内容加以补充和发展

复习一下画圆的方法:x坐标cos(n),y坐标sin(n); n 从0~360的弧度

一、绘制椭圆

对比一下,我们只是把画圆方法中 R ,一分为二。

分成了 W 和 H 分别控制椭圆的宽和高。

_root.createEmptyMovieClip("MC", 1);
MC._x = 200;
MC._y = 200;
//创建一个空影片剪辑,放在舞台中央作为画线容器
var W = 50;
var H = 30;
//椭圆宽:W,椭圆高:H.
MC.moveTo(W*Math.cos(0), H*Math.sin(0));
//设置画线起点
MC.lineStyle(2);
for (n=1; n < 360; n++) {
 tox = W*Math.cos(n*Math.PI/180);
 toy = H*Math.sin(n*Math.PI/180);
 MC.lineTo(tox, toy);
}
//当W=H的时候,画出的就是正圆。

二、椭圆分配

在学习AS 03教程中我们介绍了多边型的画法,有了这个基础在制作本实例就是小菜一碟啦.^_^

实例1:

步骤1:

绘制星形,保存为影片剪辑,连接—>导出—>标志符"star"

步骤2:

加入AS代码:

_root.createEmptyMovieClip("MC", 1);
MC._x = 200;
MC._y = 200;
var Num = 22;
//星星数量
var W = 200;
var H = 100;
//椭圆宽:W,椭圆高:H;当W=H时是正圆
var angle = (360*Math.PI/180)/Num;
//每等份 = 圆的弧度(360*PI/180)/num份
for (i=0; i < num; i++) {
 MC.attachMovie("star", "star"+i, i);
 MC["star"+i]._x = W*Math.cos(i*angle);
 MC["star"+i]._y = H*Math.sin(i*angle);
}
//复制num个以ang为距离平均分散到圆中