评论:flash的应用教程和椭圆函数,需要的朋友可以参考下





U3000 U3000

圆与椭圆函数

1,圆的参数方程:


复制代码代码如下所示:
x = R * cosx / / x和y是圆的坐标,r是圆的半径。
Y = R * SiNx / / X是绕圆心的圆的半径的角度。


2。椭圆的参数方程:


复制代码代码如下所示:
x = a * cosx / / x和y是椭圆上的一点;A和B是长、短轴,分别。
y = b * SiNx / / X是椭圆的旋转角度。


例如圆函数和椭圆函数的应用

例3.3.1(打开3.3.1.fla文件

场景中有一个影片剪辑,双击此MC,MC在这,我们看到两个小电影剪辑(f_mc,d_mc),写剧本的第一帧:

这个f_mc。_visible =这。d_mc _visible = 0;
对于(k=1;k<21;k +){
复制(this.f_mc,F+ K,K);
复制(this.d_mc,D+ K,K + 40);
}
对于(k=1;k<21;k +){
这{F+ K }。_x = 130 * Math.cos(18×K×数学。π/ 180); / /半径的圆周上130, 18度
这{F+ K }。_y = 130 * Math.sin(18×K×数学。π/ 180); / /把一份MC
这{D+ K }。_x = 130 * Math.cos(18×K×数学。π/ 180); / /椭圆的长轴为130, 60是椭圆的短轴;
这{D+ K }。_y = 60 * Math.sin(18×K×数学。π/ 180); / /周长是18度,把一份MC
}

在角度18 * * *数学.圆周率180,数学.圆周率180是一个弧,转换1度;k需要1到20,然后是18 * * *数学.圆周率180是18度到360度.每18度放置一个MC

按Ctrl + Enter播放,我们可以看到MC的副本被放置成一个圆和椭圆。因为它们是圆形和椭圆形的,仍然处于自己的位置。如何使圆和椭圆(旋转)向上移动

U3000 U3000

我们可以考虑这种方式,在帧频率事件周期中,每个周期(j + +)使圆(或椭圆)上的点再旋转18度(角度增加18度)到下一个位置,以便圆(或椭圆)可以旋转。

因为每一个旋转都是重复MC的位置交换,而且整个图形不会改变,我们不容易看到圆(或椭圆)的运动。解决这一问题的途径是改变多个MC的放大系数。

例3.3.2

打开3.3.2.fla文件,它与3.3.1.fla比较文件的脚本,运行3.3.2.fla文件,并观察效果。

U3000 U3000

例子的源程序:


复制代码代码如下所示:
j=0;
这个f_mc。_visible =这。d_mc _visible = 0;
对于(k=1;k<21;k +){
复制(this.f_mc,F+ K,K);
复制(this.d_mc,D+ K,K + 40);
}
F1。_xscale = F1。_yscale = F10。_xscale = F10。_yscale = 100; / /拷贝数扩增后的MC
D5,D5 _xscale = =。_yscale D15。_xscale = D15。_yscale = 50;
this.onenterframe =函数(){
++;
对于(k=1;k<21;k +){
这{F+ K }。_x = 130 * Math.cos(18×K×数学。π/ 180 + 18 * J *数学。π/ 180);
这{F+ K }。_y = 130 * Math.sin(18×K×数学。π/ 180 + 18 * J *数学。π/ 180);
这{D+ K }。_x = 130 * Math.cos(18×K×数学。PI / 180-18 * J *数学。π/ 180);
这{D+ K }。_y = 50 * Math.sin(18×K×数学。PI / 180-18 * J *数学。π/ 180);
}
};


在角的角度,+ 18 * * *数学。pi 180增加帧位置的角度18度每周期在帧频率事件。18 * * *数学。PI 180,并在前面的相反方向。

我们把所有的圆形和椭圆形的长轴和短轴的旋转,也可以改变圆的半径,圆的相互转换,或其他形状的变化。感兴趣的可以在3.3.3.fla文件见。

U3000 U3000

3.3.3实例源程序脚本:


复制代码代码如下所示:
J = - =规模= 0; / /设置初始计数变量、旋转角度和0放大系数的值;
q = w=130;设置圆和椭圆的半径(开始值)
m=50;设置椭圆的短轴。
这个f_mc。_visible =这。d_mc _visible = 0;
对于(k=1;k<21;k +){
复制(this.f_mc,F+ K,K);
复制(this.d_mc,D+ K,K + 40);
}
F1。_xscale = F1。_yscale = F10。_xscale = F10。_yscale = 100;
MC的副本为4个4倍的较大区域。
D5,D5 _xscale = =。_yscale D15。_xscale = D15。_yscale = 50;
this.onenterframe =函数(){
这个_rotation =旋转(f_mc); / /母MC旋转;
这个_xscale =规模; / /放大或缩小母MC(f_mc)
这_yscale =规模;
++;
对于(k=1;k<21;k +){
这{F+ K }。_x = Q×Math.cos(18×K×数学。π/ 180 + 18 * J *数学。π/ 180);
This{F +k}._y = l*Math.sin (18*k*Math.PI/180+18*j*Math.PI/180);
这{D+ K }。_x = W×Math.cos(18×K×数学。PI / 180-18 * J *数学。π/ 180);
这{D+ K }。_y = m×Math.sin(18×K×数学。PI / 180-18 * J *数学。π/ 180);
}
如果((j = 40)(j=110)){
l = 2.2;每个回合宽减2.2
q=1;每轮加1
m=1.2;在椭圆的短轴中每增加1.2个
w=1;每1次减去椭圆的长轴。
}
如果((j = 110)(j=220)){
l=2;每个回合宽2
m=1.5;椭圆的短轴,每个原始减去1.2。
W=0.7;每次椭圆加0.7的长轴。
}
如果((j = 220)(j=260)){
q = 1;每轮高1
l = 3.2;每个回合宽减3.2
椭圆的短轴,每个初始值减去1。
}
如果((j = 260)(j=320)){
q=2;每轮高2
m=2.5;每2.5个原始短轴
w=2;每个椭圆的原始轴减去2。
}
如果(j = 320 j=450){
q=3.5;每轮加3.5
w=1.5;每个椭圆的原始轴加1.5
}
如果(j = 450 j=550){
q = 190; /保持原来的圆高达190
w=180;保持原来椭圆的主轴线是180。
旋转= 5; / /这里旋转变量赋值,f_mc母MC开始旋转
规模= 1; / /这里放大系数分配变量,f_mc母MC开始放大
}
如果(j = 550){
规模= 1; / / f_mc母MC反向放大
旋转= 5;对 / / f_mc母MC相反的方向
}
如果(j = 650){
j =刻度= 0;对变量初始值,使动画回放。
l = q = w=130;
m=50;
}
};


作业

一个使用实例3.2.2源程序复制任何21 MC和均匀的位置在正玄函数的图像如下:

U3000 U3000

B能使这个MC成为下面的正弦数字,它可以移动。

U3000