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

在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为距离平均分散到圆中

时间: 2024-11-01 05:34:21

[AS功能代码教程04] 进阶三角函数的相关文章

[AS功能代码教程03] 基础三角函数

1.坐标系: Flash坐标系与数学坐标系:X轴相同,Y轴相反. [数学坐标系] [Flash中的坐标系] 2.角度制与弧度制的转换: (1)弧度:弧度 = 角度*PI/180; (2)角度:角度 = 弧度*180/PI; *角度制用于 _rotation *弧度制用于 sin(),cos(),atan()... ...

AS功能代码教程:鱼眼放大镜

下面我们先用图解法来解释一下本实例 思路: 1.鱼眼放大镜是于若干个渐小的圆组成的: 2.使每个圆都去遮罩一个渐大的图片来实现,里面的小圆遮罩大较图片,外面的大圆遮罩较小图片: 3.还有最后一个重要的步骤是"对焦",由于图片是渐大的,所以鼠标所在的一个点位对于小图来说也许是头部,而对于大图来说也许都到了场外,那么显示出的效果就错了.使用"对焦"可以让鼠标指在小图上是头部,大图上也要是头部,这么说给大家一个印象,下面请看图解.   1.首先在舞台上放入两个影片剪辑,其

AS 功能代码教程

两点间距离 Math.sqrt(Math.pow((p1._x-p2._x),2)+Math.pow((p1._y-p2._y),2)) 由这个公式可以推导出某点与原点距离公式: 因为原点坐标为(0,0),所以公式变形如下 Math.sqrt(p1._x * p1._x + p1._y * p1._y) 下面我们就来运用这两个公式来制作一些效果 实例一: 旋转指针 思路: 求一个夹角的θ方法很多如: distance.jpg 正弦函数 sinθ=y/r 余弦函数 cosθ=x/r 正切函数 ta

AS 功能代码教程14] 鱼眼放大镜

本节加了星号,借黑羽的话:"本节的内容稍微有些难度,如果不明白,可以暂时不看,待日后碰到类似问题时,再来查阅" 下面我们先用图解法来解释一下本实例 思路: 1.鱼眼放大镜是于若干个渐小的圆组成的; 2.使每个圆都去遮罩一个渐大的图片来实现,里面的小圆遮罩大较图片,外面的大圆遮罩较小图片; 3.还有最后一个重要的步骤是"对焦",由于图片是渐大的,所以鼠标所在的一个点位对于小图来说也许是头部,而对于大图来说也许都到了场外,那么显示出的效果就错了.使用"对焦&q

[AS功能代码教程15] 点间距离公式

AS表示: Math.sqrt(Math.pow((p1._x-p2._x),2)+Math.pow((p1._y-p2._y),2)) 由这个公式可以推导出某点与原点距离公式: 因为原点坐标为(0,0),所以公式变形如下 Math.sqrt(p1._x * p1._x + p1._y * p1._y) 下面我们就来运用这两个公式来制作一些效果 实例一: 旋转指针 思路: 求一个夹角的θ方法很多如: 正弦函数 sinθ=y/r 余弦函数 cosθ=x/r 正切函数 tanθ=y/x 余切函数 c

[AS功能代码教程14] 鱼眼放大镜

本节加了星号,借黑羽的话:"本节的内容稍微有些难度,如果不明白,可以暂时不看,待日后碰到类似问题时,再来查阅" 下面我们先用图解法来解释一下本实例 思路: 1.鱼眼放大镜是于若干个渐小的圆组成的; 2.使每个圆都去遮罩一个渐大的图片来实现,里面的小圆遮罩大较图片,外面的大圆遮罩较小图片; 3.还有最后一个重要的步骤是"对焦",由于图片是渐大的,所以鼠标所在的一个点位对于小图来说也许是头部,而对于大图来说也许都到了场外,那么显示出的效果就错了.使用"对焦&q

[AS功能代码教程13] 贪吃蛇

思路: 1.首先规定蛇的运动区域宽度(stagew)和高度(stageh) 2.增加键盘侦听,获得键控代码,如果该键与前一个键是反向的则不予改变 3.初始化中, 请注意:蛇头.蛇身.食物的大小均为 7 象素 4.每一次移动的步长(Move)均为8象素,以实现身体为一格一格的效果 5.吃到食物后,蛇身(body)长度增加5个单位,复制出5个身体 6.履带式前进:从尾部开始,后一个跟随前一个的位置,最前面的跟随蛇头 图示: 1.整体思路 2.蛇头.蛇身.食物的大小均为 7 象素,步长 8 象素

[AS功能代码教程12] 填色游戏

在本次课程中我们将学习使用Color类来制作一个填色游戏 并通过本实例复习for...in及SharedObject的应用 思路: 1.使用脚本代码创建一个调色盘,鼠标点击色块后进行取色; 2.绘制作为填充的影片剪辑并把每一部都存为影片剪辑.例如: 填充对象是一个人物,那么要把他的头发,眼睛,脸等部分都保存成影片剪辑; 3.最后把各部分影片再统一保存到一个影片剪辑(mc)中; 4.为了保存和读取mc中各影片中的颜色,所以要加入两个按钮 save_btn 和 load_btn . 步骤1: 绘制作

[AS功能代码教程09] 点阵字效果

第一次在fanflash上看到这个实例,感觉很不可思议 仔细研究一下发现,作者的构思还是很巧妙的,今天拿来与大家分享一下 这个实例可以说结合了BitmapData类的技术与Tween类的动感. 思路: 1.用AS创建一个空文本框,存储欲显示的字; 2.把这个文本框看成一个位图,并存储其位图数据; 3.逐行扫描这个位图数据,把有文字信息的像素点都存储到数组中; 4.最后根据数组复制出"点",并使每个"点"移动到相应的位置. 步骤1: 绘制10*10的圆点,保存为影片剪