|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
与gif和jpg不同,用Flash制作出来的动化是矢量的,不管怎样放大、缩小,它还是清晰可见。
用Flashmx2004制造三角函数图象天生器十分复杂,这里我们就用正弦曲线为例子,看一看在flash中怎样完成函数图象的。
先来剖析一下这个天生器的功效,在程序主界面的输出框中,输出响应的振幅、频次或初相值,然后按下“sin”按钮,会呈现坐标轴和一条静态天生的函数曲线,假如修正了响应的输出值,天生器又会在本来的图象基本上再天生一条分歧色彩函数曲线,如许更简单令人懂得分歧的值酿成的函数图象的变更,从而可以利用户更分明的懂得这个三角函数公式的各项的寄义。文章开端供应.fla文件供人人下载参考。
完效果果以下,人人能够依据下面的形貌下手尝尝课件的实践效果:
制造这个sin函数图象天生器的详细步骤以下:
第一步,制造元件
在这个天生器中共必要四个元件。两个按钮元件,一个是入手下手天生按钮“sin”,一个是扫除图象按钮“扫除”;两个影片剪辑,一个剪辑顶用铅笔工具在编纂区中心画一个点,由于在利用中要大批复制这个点,使点连成函数曲线用的,以是要巨细符合,另外一个影片剪辑中画上立体直角坐标系。
第二步,计划场景界面
场景上先安排三个“输出文本”框,这是用来输出分歧数值的。文本框右边用“静态文本”标识三个“输出文本”框的感化,从上至下顺次是,振幅,频次和初相,这三“输出文本”框的变量名至上而下顺次是“hight”、“freq”、“c”。然后把“sin”、“扫除”这两个按钮从库中拖动到符合地位。在右侧用“静态文本”写出“Y=<空格>sin(<空格>X+<空格>)”,然后在空格处安排三个“静态文本”框,用于显现所输出三角函数的详细公式,三个“静态文本”框的变量称号从左至右分离是“QQ”、“ww”、“ee”。这些就组成了这个图象天生器的次要界面。
第三步、到场代码
在这个天生器中,一共必要六层四帧,层数能够依据必要修正。
第一层是背景层。
第二层是坐标层,在该层的第二帧拔出关头帧,然后在该帧拖进“坐标”元件,放在场景外的地区中,该元件的“实例称号”叫做“zuobiao”。
第三层中将“点”元件拖出去,实例称号是“point1”;第四层是代码层,用于编写程序,这一层的四帧全体转换成关头帧。
剩下的两层用来安排按钮和上一步提到的各类文本框。
多分几层能够便利今后的修正,以是在做flash的时分应当注重这个细节,不要把一切的内容都塞到一个层里。
接上去入手下手写一点天生函数曲线的代码,注重我们要把一切的代码都写在“代码”层里。
第一帧代码:
k=20000; //设置部分变量的初始值
j=0;,
第二帧代码:
i=0;
draw=1;
j=j+1; //界说变量
duplicateMovieClip("point1","point",67778);
setProperty("point",_x,320);
setProperty("point",_y,240); //把场景表面的“点”剪辑“point1”复制成一个//名为“point”的剪辑置于场景中心
xpos=_root.point._x;
duplicateMovieClip("zuobiao","zuobiao1",1);
setProperty("zuobiao",_x,220);
setProperty("zuobiao",_y,240);//把场景表面的坐标剪辑“zuobiao”复制成一个//名为“zuobiao1”的剪辑置于场景中心
xpos=_root.point._x;
ypos=_root.point._y;
stop();
第三帧代码:
do{ //经由过程轮回,大批复制“point”,经由过程sin函数的束缚,//使这些点散布在公道曲线上构成正弦曲线
duplicateMovieClip("point","point"+i,k);
setProperty("point"+i,_x,i-22);
xx=getProperty("point"+i,_x);
setProperty("point"+i,_y,ypos-hight*Math.PI*10*func((xx/(Math.PI*10))*freq));
v=c%(2*Math.PI);
setProperty("point"+i,_x,i-(v*Math.PI*10)-196);
bodyColor=newColor("point"+i); //使每次按下“sin”按钮后天生的曲线色彩有所//区分,如许可使曲线分辩起来更明晰
r=(j%5)+1;
if(r==1){
bodyColor.setTransform({rb:255,bb:0,gb:0});
}
elseif(r==2){
bodyColor.setTransform({gb:255,rb:0,bb:0});
}
elseif(r==3){
bodyColor.setTransform({rb:255,gb:255,bb:0});
}elseif(r==4){
bodyColor.setTransform({gb:255,bb:255,rb:0});
}else{
bodyColor.setTransform({bb:255,rb:255,gb:255});
}
i=i+1;
k++;
draw=draw+1;
}while(draw<=20);
第四帧代码:
if(number(i)>=1060){//给轮回一个束缚前提,是程序在得当的时分中断
gotoAndPlay(2);
k-=2400;
}else{
draw=1;
gotoAndPlay(3);
}
“sin”按钮的代码:
on(release){ //按下按钮后主界面显现天生正弦曲线的详细公式,//并入手下手天生实行函数天生曲线。
QQ=hight;
ww=freq;
ee=c;
func=Math.sin;
gotoAndPlay(3);
}
“扫除”按钮的代码
on(release){ //扫除一切已呈现的曲线
for(n=0;n<=1060;n++)
{removeMovieClip("point"+n);
// k+=2400;
};
}
这个天生器程序在flashmx2004和flashmx两个版本中都可以一般运转。在编写时由于思索大概其实不非常周密,以是有些数值在其他的情况下必要修正。.fla文件下载
“swf”这是一个完整的影片档,无法被编辑。swf在发布时可以选择保护功能,如果没有选择,很容易被别人输入到他的原始档中使用。 |
|